기어가더라도 제대로

iOS, Photos 프레임 워크 - 개념편 - 본문

UIKit 기초

iOS, Photos 프레임 워크 - 개념편 -

Damagucci-juice 2022. 3. 24. 21:58

PHObject

- PHAsset
- PHAssetCollection
- PHCollectionList
- PHObjectPlaceholder
  • PHObject 클래스는 localIdentifier 속성에 따라, isEqual(_ :) 및 해시 메소드 구현 -> Asset, Collection 객체 추적가능

PHAsset

  • PHObject 의 하위 클래스
  • 사진, 라이브이미지, 동영상
  • 메타데이터만 포함(이미지 미포함)
  • 썸네일 이미지로 Collection View 를 채울 필요가 있는 경우, 각 asset의 썸네일을 다운로드, 생성 및 캐싱을 PHImageManager 를 사용
  • asset을 바로 변경은 불가능, “변경 요청 객체”를 만들어 요청해 업데이트는 가능

PHCollection

- PHAssetCollection: 앨범 폴더 하나
    Asset 찾는 메서드 : FetchAssets(: options:)
- PHCollectionList: 앨범안의 폴더들을 갖는 컬렉션
    Collection 찾는 메서드: Fetching Asset Collections 中 1개 찾아서 쓰시고

PHAssetCollection

  • PHObject 의 하위 클래스이자 추상 클래스
  • 앨범, moment, 스마트 앨범
  • 컬렉션도 직접 변경 불가, 단 요청시 업데이트 가능

PHCollectionList

  • 정의 : Asset Collection 의 모음
  • PHCollection의 하위 클래스
  • collections 를 찾는 방법
    • fetchCollections(in : options :)
  • 직접 변경 x 요청으로 가능
    • PHCollectionListChangeRequest 객체를 만들어서 요청 가능

PHPhotoLibrary

  • 사용자의 공유 사진 라이브러리 접근 및 변경을 관리하는 Shared 객체
  • NSObject의 하위 클래스
  • 권한을 얻거나 확인
  • Asset 및 collection을 변경
  • 라이브러리가 변경할 때 전송된 업데이트 메세지 등록

PHFetchResult

  • 위에 PHObject 의 자식들을 가져와서 담기 위해 필요한 객체
  • Fetch Method 에서 반환된 asset 또는 collection 의 정렬된 리스트
  • Thread-Safe 한 접근을 제공
  • 직접 코드로 보면 이해가 쉬움…

PHFetchOptions

  • fetch 하는데 사용하는 옵션
  • asset 또는 collection 객체를 가져올 때, 그 결과들을 필터링, 정렬 및 관리하는 옵션
    • 날짜별로 최신순으로 정렬,
  • 다양한 key 옵션이 제공됨

[참고](https://zeddios.tistory.com/614 [ZeddiOS])

Comments