UIImageWriteToSavedPhotosAlbum判断是否保存成功

UIImageWriteToSavedPhotosAlbum是保存图片到相册的的函数,在iOS6以前用这个函数十有八九是成功的(因为遇到空间不足保存失败的机会不是很大)。但是iOS6以后,当应用试图保存图片到相册的时候,会弹出提示询问用户是否允许访问相册,如果这个时候用户选择了否的话,就会保存失败啦,所以这个时候要判断一下。
因为以前用这个函数经常是保存成功的,以至于认为应该不能判断是否保存成功,今天再把这个函数拉出来细看竟然支持回调:
void UIImageWriteToSavedPhotosAlbum (
UIImage image,
id completionTarget,
SEL completionSelector,
void
contextInfo
);

解释下:
image
要保存到用户设备中的图片
completionTarget
当保存完成后,回调方法所在的对象
completionSelector
当保存完成后,所调用的回调方法。 形式如下:
- (void)image:(UIImage )image
didFinishSavingWithError:(NSError
)error
contextInfo:(void )contextInfo{
if (error != NULL){
//失败
}
else{
//成功
}
}

contextInfo
可选的参数,保存了一个指向context数据的指针,它将传递给回调方法。
然后像下面这样写就可以判断是否保存成功啦:
// 要保存的图片
UIImage
img = [UIImage imageNamed:@"ImageName.png"];

// 保存图片到相册中
UIImageWriteToSavedPhotosAlbum(img,
self,
@selector(image:didFinishSavingWithError:contextInfo:),
nil);


that's all

参考资料:
将图片保存在iPhone的相册中
iPhone应用程序 将图片保存到相册实例


相关博文

About rainbird

IOS攻城狮
This entry was posted in iOS and tagged , , , , , . Bookmark the permalink.

发表评论