본문 바로가기

Modern Collection&TableView9

커스텀 이미지 피커 뷰 만들기 #2 커스텀 이미지 피커 뷰 화면 애니메이션 주요 구현 View 3가지 1. 사용자 이미지 목록 View 이미지 썸네일 클릭시 클릭 순서에 맞게 데이터를 보관할 필요가 있다. 살짝 이미지를 어둡게 가리고 순서에 맞는 숫자를 보여줄 필요가 있다. 2. 선택한 이미지 목록 View 선택한 이미지를 순서에 맞게 보여줄 필요가 있다. 클릭하면 이미지를 삭제시키고 보관한 데이터를 변경해 줄 필요가 있다. 3. 사용자 앨범 목록 View 네이게이션 타이틀을 클릭하면 아래로 내려왔다가 다시 올라가는 화면 이동을 보여줘야한다. 이미지 클릭 시, 선택한 이미지 목록 View 올라오게 하기 선택한 이미지가 존재하면 선택한 이미지 목록 View 위로 올리는 애니메이션, 없으면 아래로 내리는 애니메이션 사용자 이미지 목록 View.. 2023. 12. 2.
커스텀 이미지 피커 뷰 만들기 #1 커스텀 이미지 피커 뷰 화면 구성 주요 구현 View 3가지 1. 사용자 이미지 목록 View 이미지 썸네일 클릭시 클릭 순서에 맞게 데이터를 보관할 필요가 있다. 살짝 이미지를 어둡게 가리고 순서에 맞는 숫자를 보여줄 필요가 있다. 2. 선택한 이미지 목록 View 선택한 이미지를 순서에 맞게 보여줄 필요가 있다. 클릭하면 이미지를 삭제시키고 보관한 데이터를 변경해 줄 필요가 있다. 3. 사용자 앨범 목록 View 네이게이션 타이틀을 클릭하면 아래로 내려왔다가 다시 올라가는 화면 이동을 보여줘야한다. 특징 DiffableDataSource 사용 (사용자 이미지 목록 뷰, 선택한 이미지 목록 뷰)👉 선택한 이미지 목록에서 추가, 삭제에 기본 애니메이션 적용이 가능하다. 👉 rxDataSource, del.. 2023. 12. 2.
CustomDiffableDataSource와 MVVM으로 Cell 데이터 관리하기 #0 #0 - 기존 코드의 문제점과 이를 해결할 구조를 설계하는 과정 문제점 해결을 위한 전체 구상도 ViewModel 내부에서 데이터 베이스의 연동 작업과 네트워크 서비스 등 다양한 서비스 작업을 구현한다. 옵저버를 이용하여 값의 변화를 방출해 DiffableDataSource에서 필요한 작업, 뷰 컨트롤러 내부 다양한 뷰 컴포넌트에서 필요한 작업을 분리할 수 있다. DiffableDataSource 실제 프로젝트 적용시 문제점 ⛔ 요약: 엄청난 양의 작업들을 뷰 컨트롤러에서 처리해야함으로 뷰 컨트롤러의 코드 양이 늘어나고 로직 구성이 엄청나게 복잡했다. 1. Realm 데이터베이스용 모델 데이터와 DiffableDataSource용 모델 데이터를 따로 관리해야한다. ⇒ 관리용 코드를 작성해야한다. Diff.. 2023. 11. 18.
다양한 셀을 그리는 DiffableDataSource 데이터 구성하기 #2 AnyModelStore의 필요성접근 문제 → 데이터 Collection 아이템 접근을 first로 한다. (순회 발생)var musicRegistration: UICollectionView.CellRegistration{ UICollectionView.CellRegistration { cell, indexPath, itemIdentifier in guard itemIdentifier.itemType == .music, let data:MusicItem = self.musicItems.first(where: {$0.id == itemIdentifier.id}) else {return} } }업데이트 문제 → 데이터 Collection .. 2023. 11. 10.