[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.id
lànil
khi 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.id
có khácnil
trướ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.id
lànil
và 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.spot
với ID mới từdocumentRef.documentID
. - Sau khi lưu spot thành công, update lại
spot
trongspotDetailView
từspotViewModel
. - Reset
reviews.path
sau 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.id
và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ị!