关于使用Photos.framework对相册变化的观察

  • (void)viewWillAppear:(BOOL)animated
    {

[super viewWillAppear:animated];
[[PHPhotoLibrary sharedPhotoLibrary] registerChangeObserver:self];

}

  • (void)photoLibraryDidChange:(PHChange *)changeInstance{
    //PHFetchResultChangeDetails result = [changeInstance changeDetailsForFetchResult:<#(nonnull PHFetchResult )#>];//这个对象该如何获取呢?

    //PHFetchResultChangeDetails albumChanges = [changeInstance changeDetailsForObject:<#(nonnull PHObject )#>];//这个对象该如何获取呢?

如上所述,这个需求是当相册的图片发生变化时,就会跳用这个方法,但是我不知道以上两个方法所传的参数是怎么获取,请求帮忙,谢谢。

}

阅读 4.3k
1 个回答

PHFetchResult 可以把它看做是一个由 PHAsset 填充的数组,跟 NSArray 的用法类似。有关此对象的获取可以通过 PHAsset 的实例方法获得。
PHObjectPHAsset 的抽象父类,有用的属性只有一个 localIdentifier ,意思就是图片资源的标识符,所以也可以通过这个属性来获得 PHFetchResult 集合对象。

其他的主要用法可以参考官方文档 Photos
也欢迎参考我写的 PhotoKit 实际项目应用的文章:Photos Framework使用小记

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题