[Video Summary] Ch. 5.5 Saving and Loading Items with SwiftData (Updated!)
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
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:
- 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.
- 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.
- Tạo Model với Class:
- Tạo file Swift mới, đặt tên
Todo. - Tạo class
Todovớ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
@Modelmacro và importSwiftData.
- Tạo file Swift mới, đặt tên
- Thiết lập Model Container:
- Mở file
YourApp.swift(ví dụ:TodoListApp.swift). - Import
SwiftData. - Thêm
.modelContainermodifier vào view đầu tiên, truyền vào modelTodo.self.
- Mở file
- Tạo Model Context:
- Trong file
DetailView.swift, importSwiftData. - Tạo biến môi trường
@Environment(.modelContext)để quản lý dữ liệu trên màn hình.
- Trong file
- Kết nối Model với View:
- Thay đổi biến
@Statetodothành kiểuTodo(class vừa tạo). - Tạo biến tạm
@State private var item = ""để lưu trữ dữ liệu củaitem(tên to-do item) để binding với textfield. - Sử dụng
.onAppearđể lấy dữ liệu từ đối tượngTodovào các biến tạm khi view xuất hiện. - Thêm
.modelContainervàopreviewcủa view
- Thay đổi biến
- 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
Todobằ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.
- Trong action của nút Save, cập nhật các thuộc tính của đối tượng
- Đọc Dữ liệu:
- Trong
TodoListView.swift, importSwiftData. - 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
todostrên ListView.
- Trong
- Kiểm tra dữ liệu bằng DB Browser:
- Thêm đoạn code
init()vàoYourApp.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.
- Thêm đoạn code
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!