(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 사용법 노트