-
Notifications
You must be signed in to change notification settings - Fork 2
Boost‐SwiftUI‐2024.07.18(목)
junbok97 edited this page Jul 21, 2024
·
1 revision
- 2024.07.18 목 오후 9:57 ・ 84분 27초
- 권승용, 김대황, 유정주, 윤동주, 이준복, 홍승현
- 클로버노트를 이용해 회의 내용을 기록하고, GPT를 이용해 요약, 편집했습니다.
- SwiftUI와 iOS에서 제네릭, 컨디셔널 콘텐츠, 모디파이어, 구조적 동일성, 이너트 모디파이어를 활용한 뷰 구성 및 성능 최적화 방법을 학습했습니다.
- 컨디셔널 콘텐츠는 if 문을 기준으로 나뉘며, 이를 통해 다양한 뷰가 생성됨.
- 특정 조건에 따라 HStack이 들어가거나, 여러 뷰가 그룹으로 묶이기도 함.
- 뷰 아이디와 뷰 생성 주기가 컨디셔널 콘텐츠에 따라 달라질 수 있음.
- if 문을 통해 다양한 조건부 뷰를 생성하는 과정에서 이해되지 않는 부분이 있음.
- 모디파이어를 활용하여 뷰의 속성을 변경하는 방법을 설명했습니다.
- 모디파이어를 사용하여 뷰를 다시 생성하지 않고 속성만 변경함으로써 성능을 최적화하는 방법을 논의했습니다.
- 대표적인 모디파이어인
opacity
,padding
등을 예로 들며 그 활용법을 설명했습니다.
- 이너트 모디파이어는 값이 변경되지 않으며, 성능 최적화에 도움이 됨.
- 브랜치 분기 대신 모디파이어를 사용하여 동일한 뷰 아이디를 유지하면 비용 절감 효과가 있음.
- 새로운 뷰를 생성하는 대신 속성만 변경하여 성능을 향상시킬 수 있음.
- 스위치 케이스에서도 모디파이어를 활용하여 최적화를 도모할 수 있음.
- SwiftUI에서 뷰의 아이덴티티를 관리하는 방법에 대해 논의했습니다.
- 조건에 따라 동일한 뷰가 다른 속성을 가지도록 구성하여 애니메이션이 자연스럽게 작동하도록 하는 방법을 설명했습니다.
- 뷰의 라이프 사이클과 구조체 아이덴티티는 서로 다르게 동작함.
- 동일한 아이디를 가진 뷰는 여러 번 생성될 수 있으며, 새로운 상태 변화에 따라 아이디가 변경됨.
- 콘텐츠 뷰의 바디가 호출되는 시점과 뷰의 생성 과정에서 이해되지 않는 부분이 존재함.
- 제네릭은 다양한 타입을 다룰 수 있도록 유연하게 설계됨.
- 뷰의 라이프 사이클과 스트럭트의 라이프 사이클은 구분되어야 함.
- 스트럭트는 속성이나 종속성이 변경될 때마다 새로 생성되며, 뷰의 라이프 사이클은 실제 화면에 보이는 시점에 따라 관리됨.
- SwiftUI에서 뷰의 생성과 관리 방식이 UIKit과 다르기 때문에, 라이프 사이클 이해가 어려움.
- 뷰 아이디는 뷰의 상태를 추적하는 데 사용됨.
- 새로운 값으로 뷰가 생성될 때마다 아이디가 변경됨.
- 기존 뷰의 구조체는 삭제되지만, 새로운 구조체가 생성되며 아이디를 새로 부여받음.
- 값의 비교를 통해 뷰의 업데이트 여부를 결정하며, 변경 사항이 있을 때만 뷰를 다시 렌더링함.
- 애니메이션 최적화 방법에 대해 논의했습니다.
- 이전 뷰와 이후 뷰 사이의 렌더링을 유지하여 애니메이션을 부드럽게 구현하는 방법을 설명했습니다.
- SwiftUI에서 발생하는 애니메이션 이슈와 그 해결 방법에 대해 다양한 사례를 공유했습니다.
권승용 | 김대황 | 김인환 | 유정주 | 윤동주 | 이준복 | 이창준 | 홍승현 |
---|---|---|---|---|---|---|---|
ericKwon95 | qwerty3345 | loinsir | jeongju9216 | yoondj98 | junbok97 | SwiftyJunnos | WhiteHyun |