ios 保存图片到相册 崩溃_iOS 图片相册保存实践

保存多张图片

好了,函数签名就介绍完了,本身并不复杂,如果你在搜索引擎中查找的话,可能会看到很多例子会这样写:

UIImageWriteToSavedPhotosAlbum(imageWantToSave,nil,nil,nil)

只传入了第一个 image 参数,后面三后参数都传入nil。 这样调用在大多数情况下也都没有问题。图片正常的保存到了系统相册,一行代码完成了我们的需求,看起来方便又好用。

但在某些情况下,这个调用方式就会有问题了。比如这样:

forimageinimageList {UIImageWriteToSavedPhotosAlbum(image,nil,nil,nil)}

这里的imageList是一个图片数组,会包含多张图片,如果运行这样的代码,你就会发现你的图片保存会经常出错。 比如imageList里面有 10 张图片,可能在有些时候只能成功保存 4 张,后面的 6 张图片既没看到报错信息,也没成功。 但在另一些时候又能成功的把这 10 张图片都保存下来。

这种介于中间态的不确定状态是最让人头疼的。说它有问题,但不是每次都失败。说它没问题,但总有一些时候会失败,而且频率还不低。甚至会引起你对系统库本身稳定性的怀疑。

其实导致这个问题的原因,就是你少传入了第 2,3 个参数。 当然,如果说是系统库稳定性的问题,也不是完全没有道理。 不过与其说是稳定性,更提贴切的说法是这个函数的接口设计不够完善,容易让大家造成误解。

第 2,3 个参数用于指定一个接收完成事件的实例和方法,可以这样:

funcsaveImage(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值