[Video Summary] Ch. 5.7 MockData with SwiftData
Mô tả nhanh
Video này hướng dẫn cách tạo dữ liệu giả (mock data) khi sử dụng SwiftData để có dữ liệu hiển thị trong Xcode previews. Video cũng cập nhật giao diện của to-do list để hiển thị thêm ngày và biểu tượng nhắc nhở, cùng với đó là hướng dẫn cách tổ chức các file trong project bằng folders/groups.
Video
Mô tả chi tiết
Video này hướng dẫn cách tạo dữ liệu giả (mock data) khi sử dụng SwiftData để có dữ liệu hiển thị trong Xcode previews. Video cũng cập nhật giao diện của to-do list để hiển thị thêm ngày và biểu tượng nhắc nhở, cùng với đó là hướng dẫn cách tổ chức các file trong project bằng folders/groups.
Các bước chính:
- Tạo Mock Data Property:
- Trong class
ToDo
, tạo một static variablepreview
kiểuModelContainer
. - Đây là computed property, giá trị được tính toán dựa trên nội dung bên trong cặp ngoặc
{}
, không phải là giá trị gán trực tiếp. - Tạo một
ModelContainer
mới, được lưu trữ trong bộ nhớ (không lưu vào thiết bị). - Sử dụng
mainContext
để thêm dữ liệu mẫu vào container này. - Sử dụng initializer của class
ToDo
để tạo các item mẫu với các thuộc tính khác nhau. - Chú ý lỗi
main actor isolated property
, thêm@MainActor
vào đầu class để sửa lỗi này. - Tạo extension cho class
ToDo
để chứa static property, giúp code gọn gàng hơn.
- Trong class
- Sử Dụng Mock Data Trong Preview:
- Trong
ToDoListView_Previews
, thay thế phầnmodelContainer
bằngToDo.preview
. - Dữ liệu mock sẽ hiển thị trên preview canvas.
- Có thể thay đổi các thuộc tính của dữ liệu trực tiếp trên preview, nhưng khi live preview được kích hoạt lại, dữ liệu sẽ trở về trạng thái ban đầu.
- Trong
- Cập Nhật Giao Diện To-Do List:
- Thêm một
VStack
để bao bọcHStack
hiện tại chứa checkbox và item name. - Thêm một
HStack
thứ hai bên dưới để hiển thị ngày (sử dụng.formatted(.date(.abbreviated), .time(.shortened))
) và icon lịch nếu có reminder. - Sử dụng
foregroundStyle(.secondary)
để làm mờ màu chữ của ngày. - Sử dụng
alignment: .leading
trongVStack
để căn trái nội dung.
- Thêm một
- Tổ Chức File:
- Chuyển đổi folder thành group để có thể thay đổi thứ tự file (Xcode không còn cho phép kéo thả file trong folder nữa).
- Tạo các sub-group như "views" và "models" để tổ chức code.
- Có thể sắp xếp lại thứ tự các group và các file bên trong group.
Chúc bạn học tập hiệu quả!