- PHAsset 프레임워크 사용해서 사진보관함에 있는 이미지 Cell에 표시
- PHCachingImageManager 사용해서 PHAsset에 이미지 request
- 사진 보관함 변경 시 옵저버로 Alert 메시지 받도록 메소드 정의
- local에 JSON 파일 다운로드 후 프로젝트에 추가
- +버튼 누르면 CollectionViewController에서 상속받은 새로운 DoodleViewController 표시
- DispatchQueue 활용해서 여러 이미지 보여주기
- urlSession 사용하여 이미지 다운로드
- longPressGesture 적용하여 선택된 셀에 UIMenuItem 띄우고 저장 기능 구현
- 이미지 1개 이상 선택시 edit 버튼 활성화
- edit 버튼 클릭시 선택된 이미지에 옵션(효과주기, 되돌리기) 주기
사진 권한 획득 | 구현 결과물 |
---|---|
-
PHAssetCollection이 처음에는 사진 혹은 비디오 같은 개별 콘텐츠 하나에 대응되는 줄 알았으나, 다시 학습한 후 이것이 앨범 하나에 대응되는 개념인 것으로 이해
-
PHAssetCollection 내부에 있는 PHAsset의 개수 만큼 collectionView 메소드가 호출되는 것과 indexPath 변수의 의미를 확인
-
사진을 최근 날짜 순으로 정렬하기 위해 PHFetchOptions 활용
-
PHImageManager과 PHCachingImageManager 사용의 차이를 알고자, 실행시간을 비교해서 사진 1만장 정도 있을 때 약 0.1초의 차이가 발생하는 것 확인
- 선택된 셀의 border를 selectedBackgroundView를 활용하지 않고 layer.border 속성을 활용중
- 사진 편집 후 다른 셀이 선택되는 것처럼 테두리가 표시됨 (실제로 선택은 안되고 있는 상태)
- 사진 편집 시 이미지 크기가 크면 오류 발생 (아이폰 기본 이미지들)
- 여러 사진 편집 시 observer가 alert를 여러개 동시에 띄우려고 해서 경고 출력됨