[Video Summary] Ch. 8.13 Part II - SwiftUI @FirestoreQuery - Finishing Adding & Viewing Reviews (Snacktacular App)
Mô tả nhanh
Video này hướng dẫn cách sửa lỗi crash khi thêm địa điểm mới vào ứng dụng Snacktacular, giới thiệu về alert đa nút, cách reset thuộc tính bọc Firestore Query, và cách cải thiện giao diện người dùng dựa trên trạng thái dữ liệu.
Video
Mô tả chi tiết
Video này hướng dẫn cách sửa lỗi crash khi thêm địa điểm mới vào ứng dụng Snacktacular, giới thiệu về alert đa nút, cách reset thuộc tính bọc Firestore Query, và cách cải thiện giao diện người dùng dựa trên trạng thái dữ liệu.
- Sửa lỗi crash khi thêm địa điểm mới:
- Lỗi xảy ra do
spot.idlànilkhi tạo một địa điểm mới, dẫn đến path không hợp lệ trong Firestore. - Khắc phục bằng cách thêm điều kiện kiểm tra
spot.idcó khácniltrước khi cập nhật path. - Cần phải kiểm tra và lưu địa điểm trước khi cho phép thêm review.
- Lỗi xảy ra do
- Alert đa nút:
- Sử dụng
@State private var showSaveAlertđể điều khiển hiển thị alert. - Cấu hình alert với title, message, và các nút "Cancel" và "Save".
- Nút "Save" sẽ thực hiện lưu spot, và toggle review sheet nếu thành công.
- Hiển thị alert khi
spot.idlànilvà người dùng click vào "Rate It".
- Sử dụng
- Cập nhật spot.id và reset path:
- Trong
spotViewModel, sau khi lưu spot, cập nhậtself.spotvới ID mới từdocumentRef.documentID. - Sau khi lưu spot thành công, update lại
spottrongspotDetailViewtừspotViewModel. - Reset
reviews.pathsau khi lưu spot để hiển thị review của spot mới.
- Trong
- Cải thiện giao diện người dùng:
- Sử dụng
@State private var showingAsSheetđể xác định view được hiển thị dưới dạng sheet hay navigation link. - Thay đổi hiển thị nút "Cancel" và "Save" hoặc "Done" trên toolbar dựa trên điều kiện
spot.idvàshowingAsSheet. - Ẩn các trường nhập liệu và nút "Look Up Place" khi spot đã được lưu.
- Sử dụng
Chúc bạn học tập hiệu quả và có những dự án iOS/macOS thật thú vị!
