본문 바로가기

분류 전체보기140

[UIKit] UITableViewDiffableDataSource ( iOS 13.0+ ) Notion에 정리한 내용을 옮겨왔다. UITableViewDiffableDataSource 공식문서에서는 다음과 같이 설명한다. DataSource의 특수한 형태 간단하고 효율적인 방식으로 view의 데이터와 UI를 업데이트 관리하는 데 필요한 동작 제공 UITableViewDataSource 프로토콜에서 제공하는 모든 메서드 구현 제공 TableView에 DiffableDataSource를 연결하려면, cellProvider initializer를 이용해 DiffableDatasource를 만들어 연결하려는 tableView에 전달하면 된다. 그뒤에 snapshot을 구성하고 적용해, Data의 현재 상태를 생성하고, UI에 데이터를 표시한다. dataSource = UITableViewDiffabl.. 2023. 7. 30.
[Swift] @main Notion에 정리한 내용을 옮겨왔다. 요약 기존에는 UIKit과 AppKit의 프레임워크별 entry point 진입을 위한 attribute가 달랐다.(@UIApplicationMain, @NSApplicationMain) 개발자가 크게 신경쓰지 않는 UIApplicationMain과 NSApplicationMain을 범용적이고 간단하게 작성하기 위해 swift 5.2부터 @main attribute로 통합하였다. 즉, @main은 top-level code인 @UIApplicationMain이나 @NSApplicationMain attribute를 호출해 UIKit이나 AppKit 내에 있는 main()를 호출하기 위한 attribute이다. @main을 정리한 이유 Swift에서도 디바이스가 앱의.. 2023. 7. 30.
[Article - UITableView] Filling a table with data Notion에 정리했던 내용을 옮겨왔다. 애플 공식문서의 Article을 참고했습니다. 번역한 내용이 전체 내용이 아니며, 전체 내용 중 흥미로웠던 부분만 발췌해 번역했습니다. 요약 TableView Cell은 lazy하게 관리되어, UITableViewDataSouce에 있는 cellForRowAt 메서드가 대신 빠르게 cell을 생성해야 하는데, 빠른 처리를 위해 해당 메서드 내에는 데이터 처리나 긴 연산을 넣어선 안 된다. TableView에 비용이 많이 드는 작업이 포함된다면, prefetching datasource를 사용해서 비동기적으로 처리해라. TableView의 컨텐츠가 변경되지 않는다면, Static TableView를 사용해서 시간을 절약해라. Filling a table with d.. 2023. 7. 28.
[UIKit] UITableView의 구조 Notion에 정리한 내용을 옮겨왔다. UITableView 구조 Cell 자체는 ‘Delete Control - Content - Accessory View’의 구조로 되어 있다. 자세한 내용은 이전에 정리한 내용 참조 그렇다면 UITableView는 어떤 구조로 되어있을까? ContentView - BackgroundView - SelectedBackgroundView - MultipleSelectionBackgroundView로 구성되어 있다. contentView (= UIView) contentView는 공식문서를 정리한 내용은 아래를 참조하면 될 것 같다. 이전에 정리한 내용을 참조 BackgroundView ( = UIView? ) backgroundView는 공식문서에서 다음과 같이 설명한.. 2023. 7. 28.