[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

Click vào hình dưới để mở:

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:

  1. Tạo Mock Data Property:
    • Trong class ToDo, tạo một static variable preview kiểu ModelContainer.
    • Đâ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.
  2. Sử Dụng Mock Data Trong Preview:
    • Trong ToDoListView_Previews, thay thế phần modelContainer bằng ToDo.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.
  3. Cập Nhật Giao Diện To-Do List:
    • Thêm một VStack để bao bọc HStack 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 trong VStack để căn trái nội dung.
  4. 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ả!