ios-Swift中如何保存图片到本地
2017-10-08 18:48
1646 查看
我们知道在OC中保存图片到本地需要写这么一个方法,然后这里面的第一个参数传入的就是图片,第二个参数传入的是监听的对象,第三个参数传入的是监听的方法,第四个参数传的是上下文。
//写入到相册
UIImageWriteToSavedPhotosAlbum(currentImage, self, #selector(image(image:didFinishSavingWithError:contextInfo:)), nil)我们点进这个函数进去看的时候会发现这个函数上面会有这么一行东西,这一行东西其实就是我们的监听方法的名字,那么我们如何在Swift中根据这个OC形式的函数去写相应的Swift的函数呢?
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
我们应该满足以下的一些条件,首先函数名要一样,然后OC中的(UIImage *)对应的就是我们冒号: 后面的类型,还有就是(UIImage *)后面的image对应的就是我们的参数名,然后OC中的didFinishSavingWithError:(NSError *)error,这个didFinishSavingWithError这个我们可以理解为是为了能让人能看懂,所以我们在Swift中就要写对应的外部参数,然后我们后面的contextInfo:(void *)contextInfo这个写成contextInfo:AnyObject?
这样是因为在(void *)前面的和后面的名字都是相同的所以我们写一个就可以了,还有就是(void *)在OC中是id类型,相当于Swift中的AnyObject。我们最好按照这个规范来,我测试了下我们把image的名字改成image1也是可以的,也就是说可能对函数名字没有要求,然后将contextInfo的类型改成Any?类型也是可以了说明对我们写的函数的参数的类型可能没有限制,但是我们一旦把contextInfo这个参数删掉就崩溃了,所以不过我们最好还是根据OC中的那个函数来写。这样不会出错。
@objc private func image(image:UIImage,didFinishSavingWithError error:NSError?,contextInfo:AnyObject?)
//写入到相册
UIImageWriteToSavedPhotosAlbum(currentImage, self, #selector(image(image:didFinishSavingWithError:contextInfo:)), nil)我们点进这个函数进去看的时候会发现这个函数上面会有这么一行东西,这一行东西其实就是我们的监听方法的名字,那么我们如何在Swift中根据这个OC形式的函数去写相应的Swift的函数呢?
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
我们应该满足以下的一些条件,首先函数名要一样,然后OC中的(UIImage *)对应的就是我们冒号: 后面的类型,还有就是(UIImage *)后面的image对应的就是我们的参数名,然后OC中的didFinishSavingWithError:(NSError *)error,这个didFinishSavingWithError这个我们可以理解为是为了能让人能看懂,所以我们在Swift中就要写对应的外部参数,然后我们后面的contextInfo:(void *)contextInfo这个写成contextInfo:AnyObject?
这样是因为在(void *)前面的和后面的名字都是相同的所以我们写一个就可以了,还有就是(void *)在OC中是id类型,相当于Swift中的AnyObject。我们最好按照这个规范来,我测试了下我们把image的名字改成image1也是可以的,也就是说可能对函数名字没有要求,然后将contextInfo的类型改成Any?类型也是可以了说明对我们写的函数的参数的类型可能没有限制,但是我们一旦把contextInfo这个参数删掉就崩溃了,所以不过我们最好还是根据OC中的那个函数来写。这样不会出错。
@objc private func image(image:UIImage,didFinishSavingWithError error:NSError?,contextInfo:AnyObject?)
相关文章推荐
- [Swift]iOS开发:使用模拟器绘制图片并保存到电脑本地
- IOS 如何保存图片到相册实例
- 如何在 iOS 8 中使用 Swift 实现本地通知(上)
- iOS 将图片保存到本地相册
- iOS从本地相册选取图片, 把图片保存到本地相册
- 如何在 iOS 8 中使用 Swift 实现本地通知(下)
- html文件如何加载iOS本地图片
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- IOS之文件夹创建、删除,图片在本地的保存和加载
- IOS之文件夹创建、删除,图片在本地的保存和加载
- 如何将OpenGL渲染的图片保存到本地(正常渲染和离屏渲染)
- 如何生存二维码图片保存到本地
- iOS中如何获取当前网络及其本地IP(Swift)
- iOS获取本地沙盒视频封面图片(含swift实现)
- iOS 长按图片保存本地
- ios 图片下载并保存到本地
- iOS学习笔记 -- 本地保存图片
- iOS---如何截图,如何将图片保存到相册
- android如何把Res目录下的一张图片保存到本地
- IOS保存图片到本地