【发布时间】:2022-10-18 01:28:17
【问题描述】:
如果我的资产中名为“x”的图像被定义到我的imageView中,我想在单击上传按钮时提醒屏幕,但是如果在图像视图。它仍将数据保存到 Firebase 数据库。请帮帮我。
@IBAction func uploadButtonClicked(_ sender: Any) {
if self.imageView.image == UIImage(named: "x") && self.commentText.text! == "" {
self.makeAlert(tittleInput: "Error", messageInput: "Please choose photo!")
}else {
let storage = Storage.storage()
let storageReference = storage.reference()
let mediaFolder = storageReference.child("media")
if let data = imageView.image?.jpegData(compressionQuality: 0.5) {
let uuid = UUID().uuidString
let imageReference = mediaFolder.child("\(uuid).jpg")
imageReference.putData(data, metadata: nil) { storageMetaData, error in
if error != nil {
self.makeAlert(tittleInput: "Error", messageInput: error?.localizedDescription ?? "Error")
} else {
imageReference.downloadURL { url, error in
if error == nil {
let imageURL = url?.absoluteString
let fireStoreDatabase = Firestore.firestore()
var fireStoreReference : DocumentReference? = nil
let fireStorePost = ["imageUrl" : imageURL!, "postedBy": Auth.auth().currentUser?.email! , "postComment": self.commentText.text!,"date": FieldValue.serverTimestamp(), "like": 0] as [String: Any]
fireStoreReference = fireStoreDatabase.collection("Posts").addDocument(data: fireStorePost, completion: { error in
if error != nil {
self.makeAlert(tittleInput: "Error", messageInput: error?.localizedDescription ?? "Error")
} else {
self.imageView.image = UIImage(named: "x")
self.commentText.text = ""
self.tabBarController?.selectedIndex = 0
}
})
}
}
}
}
}
}
【问题讨论】:
标签: ios swift xcode uiimageview