主业iOS/PHP,副业啥都玩,QQ:705719110,欢迎来撩!

iOS PHPhotoLibrary 资源增删改

iOS开发 随风 217℃ 0评论

PHAsset PHAssetCollection PHCollectionList对象都是不可变的。那么我们如何实现资源增删改呢?要借助 request API :

比如:这段代码用來修改一张图片的资源属性:是否被收藏。

(1)创建PHAssetChangeRequest对象。想要修改资源,需要创建一个 PHAssetChangeRequest 。然后你就可以修改创建日期,资源位置,以及是否将资源隐藏,是否将资源看做用户收藏等。此外,你还可以从用户的库里删除资源。类似地,若要修改资源集合或集合列表,需要创建一个 PHAssetCollectionChangeRequest 或 PHCollectionListChangeRequest对象。然后你就可以修改集合标题,添加或删除集合成员,或者完全删除集合。
(2)操作的请求都要求在PHPhotoLibrary的performChanges的changeBlock中执行
(3)如果有更新UI操作,需要遵守PHPhotoLibraryChangeObserver协议,实现photoLibraryDidChange(changeInfo: PHChange!)方法.在photoLibraryDidChange中进行UI更新操作

创建一个新资源只要用 creationRequestForAssetFromXXX(…)方法,来创建变化请求,并传入一个图像数据 (或一个 URL)。如果你需要对新建的资源做额外的修改,你可以用创建变化请求的placeholderForCreatedAsset属性。它会返回一个可用的 placeholder 來代替“真实的” PHAsset 引用.

当然你也可以不使用上面的方法,可以直接获取到操作的结果进行UI更新,就像我这里的需求,删除一个资源,并直接更新UI

转载请注明:怼码人生 » iOS PHPhotoLibrary 资源增删改

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址