[Video Summary] Ch. 1 SwiftUI Fundamentals: Two Way Bindings for @State using $ (2025)
Mô tả nhanh
Video này hướng dẫn về two-way binding (ràng buộc hai chiều) trong SwiftUI, sử dụng ký tự $ trước các biến @State. Video còn trình bày cách sử dụng các control như TextField, Toggle, ColorPicker, DatePicker và Stepper, những control đòi hỏi two-way binding.
Video
Mô tả chi tiết
Video này hướng dẫn về two-way binding (ràng buộc hai chiều) trong SwiftUI, sử dụng ký tự $ trước các biến @State. Video còn trình bày cách sử dụng các control như TextField, Toggle, ColorPicker, DatePicker và Stepper, những control đòi hỏi two-way binding.
Các bước thực hiện:
- Tạo Project và UI ban đầu:
- Tạo project mới "two-way bindings"
- Xây dựng giao diện đơn giản với một Text hiển thị số lần bấm nút, một Button để tăng số đếm.
- Sử dụng
Stateđể lưu trữ số lần bấm. - Chú ý sử dụng modifier để style button và font chữ giống như trong video mẫu.
- Giải thích về State và Struct:
- Giải thích lý do sử dụng
@Stateđể lưu trữ giá trị biến khi view được vẽ lại. - Giới thiệu về tính bất biến của struct và tại sao không thể thay đổi thuộc tính trực tiếp bên trong struct.
@Statelà một property wrapper, cho phép đọc và ghi biến.
- Giải thích lý do sử dụng
- Two-way binding:
- Giới thiệu concept two-way binding.
- Một số view (control) vừa đọc vừa ghi biến, cần dùng
$để tạo binding. - Xcode sẽ báo lỗi nếu quên
$và gợi ý sửa.
- Sử dụng Toggle:
- Thêm
Togglevào giao diện. - Tạo biến
@StatekiểuBoolđể quản lý trạng thái toggle. - Sử dụng
$trước biến trong toggle để tạo binding. - Hiển thị trạng thái toggle (on/off) bằng một
Text.
- Thêm
- Sử dụng TextField:
- Thêm
TextFieldđể nhập text. - Tạo biến
@StatekiểuStringđể lưu trữ input. - Sử dụng
$trong text field để tạo binding. - Hiển thị nội dung đang nhập ở một
Textkhác, không cần$vì chỉ đọc giá trị. - Sử dụng modifier
textFieldStyle(.roundedBorder)
- Thêm
- Sử dụng ColorPicker:
- Thêm
ColorPickerđể chọn màu. - Tạo biến
@StatekiểuColorđể lưu màu đã chọn. - Sử dụng
$để tạo binding. - Tạo thêm một view hình chữ nhật, fill màu theo màu đã chọn.
- Thêm
- Sử dụng DatePicker:
- Thêm
DatePickerđể chọn ngày giờ. - Tạo biến
@StatekiểuDateđể lưu ngày giờ đã chọn. - Sử dụng
$để tạo binding. - Hiển thị ngày giờ đã chọn bằng
Textsử dụng.formattedđể custom format ngày giờ
- Thêm
- Sử dụng Stepper:
- Thêm
Stepperđể tăng giảm giá trị. - Tạo biến
@StatekiểuIntđể lưu trữ giá trị stepper. - Sử dụng
$để tạo binding. - Đặt range cho stepper từ 1 đến 10.
- Hiển thị giá trị của stepper trong
Text.
- Thêm
<Lời chúc>
Chúc bạn học tập hiệu quả và tiếp tục khám phá thế giới lập trình Swift và SwiftUI!