[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,TextFieldvàText. - Sử dụng biến
UIimageđể hiển thị ảnh đã chọn. - Tạo biến
@State private var photokiể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
Toolbarchứ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,photovàUIimagevào hàmsaveImage(). - Sử dụng
@EnvironmentObjectđể truy cập view model.
- Gọi hàm
- Sửa
SpotDetailView:
- Tạo enum
ButtonPressedvớicase reviewvà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
buttonPressedkhi 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
UIimageSelectedphía ngoài scope củaonchangemodifier. - Kiểm tra nếu
spot.idlànilthì 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ị
PhotoViewdưới dạng sheet.
- Lưu ảnh được chọn vào biến
- Thêm sheet modifier để hiển thị
PhotoViewkhi 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!