我正在运行代码UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
以将照片(来自网址的图片)保存到相册库。这非常有效。但是,这是一个盲目的功能,我想调用一个回调来知道它是否成功保存。
这是我正在尝试的。
UIImageWriteToSavedPhotosAlbum(image, self, #selector(imageSaved(_:didFinishSavingWithError:contextInfo:)), nil)
func imageSaved(image: UIImage!, didFinishSavingWithError error: NSError?, contextInfo: AnyObject?) {
if (error != nil) {
print("error")
print(error)
//Do Something with error associated with image
} else {
// Everything is alright.
}
}
我正在尝试使用此代码并继续Use of unresolved identifier imageSaved(_:didFinishSavingWithError:contextInfo:)
我的问题是我不了解完成选择器,以及Apple文档中发生了什么
- (void)image:(UIImage *)image
didFinishSavingWithError:(NSError *)error
contextInfo:(void *)contextInfo;
那是什么意思?我该如何使用它?
答案 0 :(得分:3)
试试这个:
SSOE
希望它有所帮助!!
答案 1 :(得分:0)
如 Apple文档中所述:UIImageWriteToSavedPhotosAlbum(::::)
completionSelector 要调用的完成目标对象的方法选择器。此可选方法应符合以下签名:
- (void)image:(UIImage *)image
didFinishSavingWithError:(NSError *)error
contextInfo:(void *)contextInfo;
因此您在Swift中的回调函数必须类似于
@objc func imageSaved(image:UIImage,didFinishSavingWithError error:Error,contextInfo:UnsafeMutableRawPointer?){
self.showAlert(title:"Image saved to Photos!", message: "");
}
答案 2 :(得分:-1)
我有一个类似的问题,我通过使类继承自NSObject
来解决。