当我尝试将图片保存到相册时,我想异步检查一切是否正常。所以我在用

UIImageWriteToSavedPhotosAlbum(halfFinalPic, self, Selector("image:didFinishSavingWithError:contextInfo:"), nil);

我的回调函数看起来像
func image(image: UIImage, didFinishSavingWithError error: NSError, contextInfo:UnsafePointer<Void>) { }

但是我不太了解如何处理错误对象。
由于它不是指针指针,因此无法针对nil进行检查,那么如何确定是否发生了错误?

最佳答案

UIKit Function Reference仅记录Objective-C表单
回调的

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;

该方法的Swift视图是
func image(image: UIImage!, didFinishSavingWithError error: NSError!, contextInfo: UnsafeMutablePointer<Void>)

其中imageerror是隐式解包的可选内容。
因此error可以是nil,这在我的测试中有效:
func image(image: UIImage!, didFinishSavingWithError error: NSError!, contextInfo: UnsafeMutablePointer<Void>)
{
    if error != nil {
        println(error)
    } else {
        println("success")
    }
}

关于ios - 检查nil是否为非可选变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30279667/

10-12 00:18
查看更多