[Video Summary] Ch. 5.5 Saving and Loading Items with SwiftData (Updated!)

SwiftUI 6 Th02 2025

Mô tả nhanh

Video này giới thiệu về SwiftData, một framework mới của Apple giúp quản lý dữ liệu trong ứng dụng iOS/macOS. Video hướng dẫn cách tạo model, lưu, tải và chỉnh sửa dữ liệu bằng SwiftData trong một ứng dụng To-Do list đơn giản, cũng như hướng dẫn cách sử dụng DB Browser để kiểm tra dữ liệu.

Video

Click vào hình dưới để mở:
Ch. 5.5 Saving and Loading Items with SwiftData (Updated!)

Mô tả chi tiết

Video này giới thiệu về SwiftData, một framework mới của Apple giúp quản lý dữ liệu trong ứng dụng iOS/macOS. Video hướng dẫn cách tạo model, lưu, tải và chỉnh sửa dữ liệu bằng SwiftData trong một ứng dụng To-Do list đơn giản, cũng như hướng dẫn cách sử dụng DB Browser để kiểm tra dữ liệu.


Các bước chính:

  1. Giới thiệu SwiftData:
    • SwiftData là framework mới để quản lý dữ liệu, thay thế CoreData.
    • SwiftData cung cấp các chức năng CRUD (Create, Read, Update, Delete) database.
    • Dữ liệu được mô hình hóa trực tiếp bằng code Swift.
  2. Cài đặt DB Browser for SQLite:
    • DB Browser là công cụ miễn phí để xem dữ liệu trong simulator.
    • Tải DB Browser từ trang web chính thức và cài đặt.
  3. Tạo Model với Class:
    • Tạo file Swift mới, đặt tên Todo.
    • Tạo class Todo với các thuộc tính (properties) như item (tên công việc), reminderIsOn, dueDate, notes, isCompleted.
    • Khởi tạo các thuộc tính với giá trị mặc định.
    • Thêm @Model macro và import SwiftData.
  4. Thiết lập Model Container:
    • Mở file YourApp.swift (ví dụ: TodoListApp.swift).
    • Import SwiftData.
    • Thêm .modelContainer modifier vào view đầu tiên, truyền vào model Todo.self.
  5. Tạo Model Context:
    • Trong file DetailView.swift, import SwiftData.
    • Tạo biến môi trường @Environment(.modelContext) để quản lý dữ liệu trên màn hình.
  6. Kết nối Model với View:
    • Thay đổi biến @State todo thành kiểu Todo (class vừa tạo).
    • Tạo biến tạm @State private var item = "" để lưu trữ dữ liệu của item (tên to-do item) để binding với textfield.
    • Sử dụng .onAppear để lấy dữ liệu từ đối tượng Todo vào các biến tạm khi view xuất hiện.
    • Thêm .modelContainer vào preview của view
  7. Lưu Dữ liệu:
    • Trong action của nút Save, cập nhật các thuộc tính của đối tượng Todo bằng các giá trị từ các biến tạm.
    • Sử dụng modelContext.insert(todo) để thêm hoặc cập nhật dữ liệu.
    • Sử dụng dismiss() để đóng view sau khi lưu.
    • Thêm modelContext.save() sau khi insert để đảm bảo dữ liệu được lưu ngay.
  8. Đọc Dữ liệu:
    • Trong TodoListView.swift, import SwiftData.
    • Tạo biến môi trường @Environment(.modelContext).
    • Sử dụng @Query để lấy dữ liệu từ SwiftData: @Query var todos: [Todo].
    • Hiển thị danh sách các todos trên ListView.
  9. Kiểm tra dữ liệu bằng DB Browser:
    • Thêm đoạn code init() vào YourApp.swift để in ra đường dẫn thư mục chứa dữ liệu simulator trên máy Mac.
    • Tìm file "default.store" trong thư mục đó, mở bằng DB Browser.
    • Thêm/Chỉnh sửa dữ liệu từ ứng dụng, dùng DB Browser để theo dõi thay đổi.

Video đã hướng dẫn chi tiết cách sử dụng SwiftData để quản lý dữ liệu trong ứng dụng iOS/macOS. Các kiến thức trong video này là cơ sở để xây các ứng dụng phức tạp hơn có sử dụng cơ sở dữ liệu.

Chúc bạn thành công!

Tags