-
Notifications
You must be signed in to change notification settings - Fork 2
[동주] Demystify SwiftUI
윤동주 / Xerath edited this page Jul 18, 2024
·
1 revision
- ID(Identity) -> 앱의 여러 업데이트에서 요소를 동일하거나 별개로 인식하는 방법
- 수명(Lifetime) → SwiftUI가 시간이 지남에 따라 View, Data의 존재를 추적하는 방법
- 종속성(Dependencies) → SwiftUI가 인터페이스를 업데이트해야 하는 시기와 이유를 이해하는 방법
- 동일한 ID를 공유하는 View는 동일한 UI 요소의 State를 반영함.
- 별개의 View는 서로 다른 ID를 가지고 서로 다른 State의 주기를 가지게 됨.
- 명시적인 ID를 활용
- 명시적 ID를 통해 View의 ID를 데이터에 연결하거나 특정 View를 참조하는 사용자 정의 식별자를 제공할 수 있음.
- ex) ForEach문에서의 id 명시
- Identifiable 프로토콜의 목적은 SwiftUI가 수명동안 데이터를 추적할 수 있도록 유형이 안정적인 ID 개념을 제공하도록 허용하는 것.
- View 프로토콜은 속성의 논리 문에서 단일 Generic View를 구성하는 ViewBuilder의 logic Statements를 암시적으로 래핑함.
- SwiftUI는 if문으로 2개의 View를 만들기보단, modifier를 통해 하나의 View를 만들어서 사용하는 것을 권장함. == ex) Dependent Code로 작성
- View의 생명주기는 ID의 지속 기간임.
- Inert Modifier를 사용하는 것이 유리함.(if/else문보다 낫다는 의미인 듯)
권승용 | 김대황 | 김인환 | 유정주 | 윤동주 | 이준복 | 이창준 | 홍승현 |
---|---|---|---|---|---|---|---|
ericKwon95 | qwerty3345 | loinsir | jeongju9216 | yoondj98 | junbok97 | SwiftyJunnos | WhiteHyun |