일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- map
- Human interface guide
- 리팩토링
- Xcode
- rxswift
- Protocol
- uitableview
- HIG
- swiftUI
- UICollectionView
- Observable
- 리펙토링
- ios
- 클린 코드
- tableView
- combine
- Refactoring
- swift documentation
- 리펙터링
- 스위프트
- collectionview
- RxCocoa
- UITextView
- Clean Code
- MVVM
- SWIFT
- ribs
- 애니메이션
- uiscrollview
- clean architecture
- Today
- Total
목록테이블뷰 (5)
김종권의 iOS 앱 개발 알아가기
scrollViewDidEndDragging(_:willDecelerate:) 개념 scrollView의 델리게이트 메소드 스크롤하는 드래그가 종료되었을때 호출 스크롤이 종료되었을때 호출 decelerate값이 true이면 사용자가 스크롤을 놓을때 관성으로 놓아진것 (드래그를 떼고나서 서서히 멈추는 스크롤 됨) decelerate값이 false이면 사용자가 스크롤을 놓을때 관성없이 놓은것 (드래그를 떼고나서 바로 멈춤) extension ViewController: UITableViewDelegate { func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { print("decelerate>"..
dataSource 관리 방법 dataSource를 관리하다보면 보통 UI에서 사용되는 데이터와 비즈니스로직이 들어갈 ViewModel에서 사용되는 dataSource 두 벌을 관리하는 경우가 있는데, 상태 관리를 한곳에서 사용하지 않으면 데이터 정합성 문제가 발생 protocol을 사용하여 dataSource를 관리하면 해결 viewController에서 dataSource에 접근할 때는 protocol에 의존하게끔하면 해결 MVVM 구조 먼저 준비 MVVM구조를 쉽게 구현하기 위해 예제에 사용할 라이브러리 pod 'RxSwift' pod 'RxCocoa' View ViewModel 구현체에 의존하지 않도록, ViewModelable 프로토콜을 생성하고 이것에 의존하도록 구현 UI에 관한 input을 ..
stackView를 이용하여 self-resizing-cell 구현 방법 cell을 선택하면 stackView에 있는 star imageView를 hidden = false하여 생성되게끔 설정 override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) updateSelectedCell(selected) } private func updateSelectedCell(_ selected: Bool) { imageContainerView.isHidden = !selected } tableView의 delegate 설정 주의: tableView(_:heightForRowAt:)..
* URLSession 개념 참고 * NSCache 개념 참고 TableView에서 refresh시 데이터 요청 dataSource는 [AnyObject]형태 title과 같은 것은 dataSource안에 포함 되어 있지만 이미지같은 경우는 dataSource중 url link를 통해 이미지 획득 url link를 통해 이미지를 획득할때 시간이 오래걸리므로 cellForRowAt에서 cache와 async방법으로 접근 class ViewController: UIViewController { lazy var refreshControl: UIRefreshControl = { let control = UIRefreshControl() control.addTarget(self, action: #selector(..
1. 테이블 뷰가 나온 배경 - 방대한 콘텐츠를 표현하기 위함 - 테이블 뷰의 완성 = 테이블 뷰 + 섹션1(테이블 뷰 셀 + 콘텐츠 뷰) + 섹션2(테이블 뷰 셀 + 콘텐츠 뷰) + 섹션n(...) 2. 일반적인 테이블 뷰 - 테이블 뷰 셀의 종류 : Basic, Right Detail, Left Detail, Subtitle, Custom 1) 테이블 뷰 생성 : UITableViewController - 통째로 테이블 뷰 생성 : 스토리보드에서 UITablewView 드래그엔 드롭 cf) UITableViewController가 아닌, UIViewController에서 테이블 뷰 생성 : (1) ~ (4)작업 (delegate, datasource, table view 각 추가) (1) "Table..