PHAsset
사진 라이브러리에 있는 이미지, 비디오와 같은 하나의 Asset을 의미
PHAssetCollection
PHAsset의 컬렉션
PHCachingImageManager
요청한 크기에 맞게 이미지를 로드하여 캐싱까지 수행
PHFetchResult
앨범 하나
PHPhotoLibraryChangeObserver
사진 라이브러리에 대한 변경 사항을 감지하고 응답하기 위한 프로토콜
사용자가 사진을 추가, 삭제, 수정하거나 앨범에 변화를 주는 경우 메서드가 호출된다.
photoLibraryDidChange(_:): 변경 감지 메서드 (꼭 구현해야함)
PHPhotoLibrary.shared().register(_:): 옵저버 등록
PHPhotoLibrary.shared().unregisterChangeObserver(_:): 옵저버 해지
PHFetchOptions
Asset을 검색할 때 사용할 수 있는 옵션을 정의.
PHAsset을 가져올 때 어떤 자산이 검색결과에 포함될 지 제어함
정렬기준 설정
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
NSSortDescriptor : 가져온 Asset의 정렬방식을 정의한다.
ex) 사진을 생성날짜나 수정날짜로 정렬할 수 있다.
필터링 조건 설정
let datePredicate = NSPredicate(format: "creationDate >= %@", specificDate as NSDate)
fetchOptions.predicate = datePredicate
predicate : 가져올 Asset을 필터링하기 위한 조건을 갖는다.
ex) 특정 날짜 범위 내의 사진만 가져올 수 있다.
반응형
'🍎 iOS > Swift' 카테고리의 다른 글
Lazy와 weak을 함께 사용할 수 없는 이유 (0) | 2024.11.04 |
---|---|
UI를 메인스레드에서 구현해야하는 이유 (1) | 2024.11.04 |
Photos 프레임워크 공식문서 번역 (0) | 2024.08.07 |
Class메서드와 Static메서드 (0) | 2023.06.08 |
Swinject를 사용한 iOS 의존성 주입 (0) | 2023.05.09 |