我有一个视图控制器,从中我可以上传媒体到Firebase,并将媒体的URL作为API调用发送到我的服务器。现在,为了上传图片和调用API,我创建了一个单独的类。在那里,我创建了一个执行上传工作的函数。
离线同步类函数
现在当我收到URL时,我会调用这个函数。
离线同步类函数
func UploadMediaToFireBase(sucess:@escaping ()->(),failure:@escaping (DIError)->()) {
DIFirebaseImageManager.firebaseInstance.uploadImage(data: data, withName: filepath, mimeType: mimeType, progress: { (progress)
in
}) { (callback, firebaseUrl, error) in
if let url = firebaseUrl {
self.uploadplace(place: self.place, done: {
sucess()
Utility.shared.hideLoader()
}, failed: { (result) in
failure(result)
Utility.shared.hideLoader()
})
}
}
}
现在当我收到URL时,我会调用这个函数。
func uploadplace(place:place,done:@escaping ()->(),failed:@escaping (DIError)->()) {
if let placeId = place.id {
placeManager.shared.editplace(placeId: placeId, place: place, success: { (success) in
AlertBar.show(.success, message: AppMessages.place.placeEdited)
done()
}, failure: { (failure) in
self.status = .cancelled
failed(failure)
})
}
}
当我在Firebase上上传媒体并将URL保存在我的服务器上时,然后我向我的控制器发送回调,如下所示的代码:
OfflineSync.shared.UploadMediaToFireBase(sucess: {
DILog.print(items: "CallBack to MediaController")
self.navigationController?.popViewController(animated: true)
}, failure: { (failure) in
})
}
但问题是我从未收到任何回调到我的控制器。我收到了uplaodplace
的回调到uplaodmediatofirebase
函数。但我从未收到回调到我的控制器。请告诉我可能出了什么问题?
failure: { (failure) in
中的failure
的值是什么? - Mohammad Zaid Pathaneditplace
的代码,它可能存在问题。 - Mohammad Zaid Pathan