[Video Summary] Ch. 8.18 Part 2: Saving Images in Cloud Storage for Firebase using SwiftUI
Mô tả nhanh
Video này hướng dẫn cách hoàn thiện tính năng lưu ảnh vào Cloud Storage của Firebase sử dụng SwiftUI, bao gồm việc tạo photo view hiển thị ảnh đã chọn, nhập mô tả và gọi view model để lưu ảnh và dữ liệu liên quan.
Video
Mô tả chi tiết
Video này hướng dẫn cách hoàn thiện tính năng lưu ảnh vào Cloud Storage của Firebase sử dụng SwiftUI. Cụ thể, video sẽ hướng dẫn tạo một PhotoView
để hiển thị ảnh người dùng chọn, cho phép họ nhập mô tả và gọi view model để lưu ảnh và dữ liệu liên quan lên Firebase.
Các bước thực hiện chính bao gồm:
- Tạo
PhotoView
:- Thêm một file SwiftUI View mới tên là
PhotoView
. - Xây dựng giao diện với
NavigationView
,VStack
,Spacer
,Image
,TextField
vàText
. - Sử dụng biến
UIimage
để hiển thị ảnh đã chọn. - Tạo biến
@State private var photo
kiểuPhoto
để chứa dữ liệu mô tả ảnh. - Hiển thị thông tin người đăng và thời gian đăng ảnh.
- Thêm
Toolbar
chứa nút "Cancel" và "Save".
- Thêm một file SwiftUI View mới tên là
- Xử lý nút "Cancel":
- Sử dụng
@Environment(\.dismiss)
để đóng view.
- Sử dụng
- Xử lý nút "Save":
- Gọi hàm
saveImage()
trong view model. - Sử dụng
Task
để thực hiện thao tác bất đồng bộ. - Truyền
spot
,photo
vàUIimage
vào hàmsaveImage()
. - Sử dụng
@EnvironmentObject
để truy cập view model.
- Gọi hàm
- Sửa
SpotDetailView
:
- Tạo enum
ButtonPressed
vớicase review
vàcase photo
để theo dõi button nào đã được nhấn. - Tạo biến
@State private var buttonPressed
để lưu trạng thái button đã nhấn. - Cập nhật
buttonPressed
khi click vào button review hoặc chọn ảnh từPhotosPicker
. - Tạo
@State private var UIimageSelected
để lưu ảnh đã chọn từPhotosPicker
.- Lưu ảnh được chọn vào biến
UIimageSelected
phía ngoài scope củaonchange
modifier. - Kiểm tra nếu
spot.id
lànil
thì hiển thị alert hỏi người dùng muốn lưu spot hay không. - Nếu spot đã được lưu hoặc người dùng chọn lưu, thì hiển thị
PhotoView
dưới dạng sheet.
- Lưu ảnh được chọn vào biến
- Thêm sheet modifier để hiển thị
PhotoView
khi cần. - Thêm biến
@State private var showPhotoSheet
để điều khiển việc hiển thị sheet. - Sử dụng một switch statement để kiểm tra button nào được nhấn và thực hiện việc dismiss tương ứng.
- Kiểm thử:
- Chạy ứng dụng và thử chọn ảnh, nhập mô tả và lưu lại.
- Kiểm tra dữ liệu trên Firebase Console và Storage.
- Thêm ảnh vào simulator bằng cách kéo thả trực tiếp vào cửa sổ simulator đang chạy.
Video kết thúc với việc kiểm tra thành công chức năng lưu ảnh và dữ liệu liên quan lên Firebase, đồng thời giới thiệu về việc hiển thị danh sách ảnh trong các video tiếp theo.
Chúc bạn thành công!