일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swiftUI
- 스위프트
- clean architecture
- swift documentation
- RxCocoa
- SWIFT
- uiscrollview
- uitableview
- UITextView
- HIG
- map
- 애니메이션
- 리펙터링
- ribs
- Observable
- 클린 코드
- combine
- Clean Code
- 리팩토링
- Refactoring
- rxswift
- MVVM
- collectionview
- 리펙토링
- Human interface guide
- ios
- Protocol
- Xcode
- tableView
- UICollectionView
- Today
- Total
목록뷰 업데이트 (2)
김종권의 iOS 앱 개발 알아가기
뷰 상태 관리상태가 변경되면 뷰가 업데이트 되는데 상태를 관리하는 방법은 크게 3가지ObservableObject 모델을 아래 3가지로 참고@StateObject (혹은@State), @ObservedObject, @EnvironmentObject)class Person: ObservableObject { @Published var name: String init(name: String) { self.name = name print("init > Person Model") }}struct Subview: View { @StateObject var personByState = Person(name: "jake") @ObservedObject var..
layoutIfNeeded() 레이아웃 시스템을 업데이트하고 뷰의 크기와 위치를 조정 subview의 레이아웃을 즉시 업데이트 layoutIfNeeded() 동작 원리 a.layoutIfNeeded() 위와같이 호출하는 경우 뷰의 레이아웃 업데이트 범위? a뷰는 업데이트 안됨 a의 subview들만 업데이트됨 (공식 문서에서도 subviews들을 업데이트 한다고 명시) 주의사항 a뷰가 b뷰를 가지고 있을때, a.layoutIfNeeded()를 호출하면 b.layoutIfNeeded()가 호출되지 않음 a.layoutIfNeeded()를 호출해서 a뷰의 레이아웃이 업데이트되고 b입장에서 a뷰의 레이아웃이 업데이트 되었으므로 자동으로 업데이트 되는 것 autolayout 사용할 경우 superview에 따라..