(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 )#>];//这个对象该如何获取呢?
如上所述,这个需求是当相册的图片发生变化时,就会跳用这个方法,但是我不知道以上两个方法所传的参数是怎么获取,请求帮忙,谢谢。
}
PHFetchResult
可以把它看做是一个由PHAsset
填充的数组,跟NSArray
的用法类似。有关此对象的获取可以通过PHAsset
的实例方法获得。PHObject
是PHAsset
的抽象父类,有用的属性只有一个localIdentifier
,意思就是图片资源的标识符,所以也可以通过这个属性来获得PHFetchResult
集合对象。其他的主要用法可以参考官方文档 Photos
也欢迎参考我写的 PhotoKit 实际项目应用的文章:Photos Framework使用小记