在swift中保存图片到相册

在swift中保存图片到相册,第1张

概述本来是没有必要把这么小的一个知识点写到博客中的,但是,由于OC中的一些语法在swift中实现的时候有些特别,所以单独写下来到博客中,希望能够帮助到有需要的同学。 1.OC中的写法 在OC中,我们需要保存图片相册需要调用这个方法: void UIImageWriteToSavedPhotosAlbum(UIImage *image, id completionTarget, SEL complet
本来是没有必要把这么小的一个知识点写到博客中的,但是,由于OC中的一些语法在swift中实现的时候有些特别,所以单独写下来到博客中,希望能够帮助到有需要的同学。
1.OC中的写法

在OC中,我们需要保存图片到相册需要调用这个方法:

voID UIImageWritetoSavedPhotosAlbum(UIImage *image,ID completionTarget,SEL completionSelector,voID *contextInfo);

想来大家也都看过这个方法的头文件,在头文件中有这样一段话

// Adds a photo to the saved photos album.  The optional completionSelector should have the form://  - (voID)image:(UIImage *)image dIDFinishSavingWithError:(NSError *)error contextInfo:(voID *)contextInfo;

意思是:想要将一张照片保存到相册中,这个可选的完成方法需要按照下面那个方法的格式来定义。
所以,我们在OC中通常都是直接将这个方法拷贝出来,直接实现这个方法,举个栗子:

- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {    UIImageWritetoSavedPhotosAlbum(self.iconVIEw.image,self,@selector(image:dIDFinishSavingWithError:contextInfo:),nil);}- (voID)image:(UIImage *)image dIDFinishSavingWithError:(NSError *)error contextInfo:(voID *)contextInfo {    if (error) {        NSLog(@"保存出错");        return;    }    NSLog(@"保存成功");}

在上面这个栗子中,我通过手指触摸事件,将事先定义好的iconVIEw中的图像保存到相册中。

而同样一个栗子,在Swift中应该怎么样实现呢?

2.swift中的写法
overrIDe func touchesBegan(touches: Set<NSObject>,withEvent event: UIEvent) {    UIImageWritetoSavedPhotosAlbum(iconVIEw.image,"image:dIDFinishSavingWithError:contextInfo:",nil)}    func image(image: UIImage,dIDFinishSavingWithError: NSError?,contextInfo: AnyObject) {    println("---")    if dIDFinishSavingWithError != nil {        println("错误")        return    }    println("OK")}

同样的栗子,swift中的实现如上,在swift中,我们跳到头文件会发现是这样的,

// Adds a photo to the saved photos album.  The optional completionSelector should have the form://  - (voID)image:(UIImage *)image dIDFinishSavingWithError:(NSError *)error contextInfo:(voID *)contextInfo;

还是OC中那一套,苹果并没有帮我们写好swift下的代码格式应该怎么写,所以很多人对此应该怎么使用会产生许多的疑惑,其实,就是像上面那样,将参数一一对应,以swift中函数的写法写出来就可以了。
另外补充一点小知识点:
上面的那个方法我们还可以这么写,

// 提示:参数 空格 参数别名: 类型func image(image: UIImage,dIDFinishSavingWithError error: NSError?,contextInfo: AnyObject) {    println("---")//        if dIDFinishSavingWithError != nil {    if error != nil {        println("错误")        return    }    println("OK")}

类似这样的格式:(参数 参数别名: 类型)dIDFinishSavingWithError error: NSError? 在外部调用时,显示的是dIDFinishSavingWithError这个参数名 而在内部使用时,显示的是error这个参数别名,方便我们的使用,也更加类似OC中的写法。

总结

以上是内存溢出为你收集整理的在swift中保存图片到相册全部内容,希望文章能够帮你解决在swift中保存图片到相册所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1087758.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存