일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- collectionview
- UITextView
- 리팩토링
- Clean Code
- tableView
- MVVM
- ios
- Xcode
- Protocol
- uiscrollview
- swift documentation
- map
- 클린 코드
- swiftUI
- ribs
- 리펙터링
- UICollectionView
- uitableview
- combine
- Human interface guide
- Observable
- RxCocoa
- clean architecture
- HIG
- Refactoring
- rxswift
- 리펙토링
- SWIFT
- 애니메이션
- 스위프트
- Today
- Total
목록collectionview (21)
김종권의 iOS 앱 개발 알아가기
1. 실시간 채팅 앱 구현 방법 (MessageKit, Firebase, Firestore) - 채팅 UI 2. 실시간 채팅 앱 구현 방법 (MessageKit, Firebase, Firestore) - Firebase SPM으로 MessageKit 설치 https://github.com/MessageKit/MessageKit 화면 플로우 MessageKit 주요 모듈 MessagesViewController: UICollectionView를 상속하여 구현된 모듈이고 이 모듈을 상속하여 CahtViewController 생성 내부적으로 messagesCollectionView 프로퍼티 사용 가능 import UIKit import MessageKit class ChatVC: MessagesViewCont..
1. 이미지 캐싱, 이미지 효율적으로 로드 방법, 스크롤에 따라 이미지 로드(tableView, collectionView): scrollViewDidScroll, prefetch 2. 이미지 캐싱, 이미지 효율적으로 로드 방법(tableView, collectionView): async + NSCache cf) 애플 공식 문서에서 나온 ImageCache 방법은 여기 참고 처리 방법 2단계 scrollViewDidScroll, prefetch 방법으로 모든 페이지의 이미지를 한꺼번에 호출하지 않고 스크롤에 따라 page를 늘려나가며 API호출 > 이미지 url들을 획득 이미지 url들만 우선 cell의 모델에 적용 ImageCache를 통해서 url들에 대해서 이미지 로드 > cell의 item 모델 ..
1. 이미지 캐싱, 이미지 효율적으로 로드 방법, 스크롤에 따라 이미지 로드(tableView, collectionView): scrollViewDidScroll, prefetch 2. 이미지 캐싱, 이미지 효율적으로 로드 방법(tableView, collectionView): async + NSCache 아이디어 스크롤이 느려지고, 앱이 꺼지고 이미지들이 사용자에게 보여질 때 느려질 수 있으므로 캐시를 사용 비동기적으로 이미지를 저장하고 cache를 사용 어떻게? request(page:1) API 호출 > 10개의 이미지 url 획득 10개의 이미지 url만 cell의 model에 먼저 저장 (image는 따로 호출하여 반영) image는 최초 10개만 일단 로드하고, 나머지는 아래에서 나오는 내용인..
1. Diffable Data Source - UITableViewDiffableDataSource (테이블 뷰) 2. Diffable Data Source - UICollectionViewDiffableDataSource (컬렉션 뷰) UICollectionViewDiffableDataSource TableView에서의 Diffable Data Source와 같은 원리로 iOS 13+부터 사용가능 개념은 TableView에서의 Diffable Data Source를 참고하고, 아래에서는 예제 코드로 확인 UICollectionViewCompositionalLayout UICollectionViewLayout의 서브클래스이며 compositinoal하게 레이아웃을 쉽게 적용하기 위해서 등장 개념 - co..
1. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout 2. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout을 이용한 CarouselView (수평 스크롤 뷰) 3. CollectionView (컬렉션 뷰) - custom layout (grid, pinterest 레이아웃 구현) 4. CollectionView (컬렉션 뷰) -실전 사용 방법 (FlowLayout, CustomLayout, binary search, cache) FlowLayout vs CustomLayout Grid 형태처럼 단순한 것은 FlowLayout 사용 Pinterest앱과 같이 복잡한 Grid 형태인 경우 CustomLayout 사용 F..
CollectionView의 연산 3가지 insert, move, delete 3가지 연산의 dicussion에 모두 performBatchUpdates를 사용하여 각 연산의 변경을 동시에 animate를 줄 수 있는 방법 performBatchUpdates(_:completion:) 여러개의 변경 후 completion 블럭을 사용할 수 있기 때문에 사용 코드의 순서에 상관 없이 insert 연산전에 delete 연산이 수행됨을 주의 > 삭제 후 index값 기준으로 index가 처리되므로 주의 performBatchUpdates(_:completion:) 사용 collectionView 준비 class ViewController: UIViewController { // Views lazy var co..
1. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout 2. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout을 이용한 CarouselView (수평 스크롤 뷰) 3. CollectionView (컬렉션 뷰) - custom layout (grid, pinterest 레이아웃 구현) 4. CollectionView (컬렉션 뷰) -실전 사용 방법 (FlowLayout, CustomLayout, binary search, cache) CollectionView와 UICollectionViewLayout 개념 포인트 prepare: 레이아웃 작업이 발생하려고 할 때 UIKit이 해당 메서드 호출 collectionViewC..
* CollectionView 3번 내용 참고 1. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout 2. CollectionView (컬렉션 뷰) - UICollectionViewFlowLayout을 이용한 CarouselView (수평 스크롤 뷰) 3. CollectionView (컬렉션 뷰) - custom layout (grid, pinterest 레이아웃 구현) 4. CollectionView (컬렉션 뷰) -실전 사용 방법 (FlowLayout, CustomLayout, binary search, cache)