(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
が 1 つだけあるため、この属性を通じてPHFetchResult
コレクション オブジェクトを取得することもできます。その他の主な使用方法については、Photos の公式ドキュメントを参照してください
また、PhotoKit の実際のプロジェクト アプリケーションについて書いた記事「Photos Framework の使用ノート」も参照してください