-
Notifications
You must be signed in to change notification settings - Fork 2
Boost‐SwiftUI‐2024.08.29(목).md
유정주 JeongJu Yu edited this page Aug 30, 2024
·
3 revisions
Boost‐SwiftUI‐2024.08.29(목).txt
- 2024.08.29 목 오후 9:09 ・ 166분 54초
- 권승용 김대황 정다함 유정주 이준복 홍승현
- 클로버노트를 이용해 회의 내용을 기록하고, AI를 이용해 요약, 편집했습니다.
- 주요 내용은 그리드, 레이아웃 프로토콜, ViewThatFits, AnyLayout에 관한 것이었음
- ViewThatFits는 HStack과 VStack 중 화면에 더 적합한 레이아웃을 선택하는 개념
- HStack은 수평으로, VStack은 수직으로 늘어남
- 다양한 레이아웃 옵션 중 화면에 맞는 것을 제공할 수 있는 유용한 도구
- AnyLayout은 런타임에 레이아웃을 동적으로 변경할 수 있음
- 예: HStack에서 VStack으로 전환 가능
- 뷰의 아이덴티티를 보존하면서 레이아웃 변경 시 애니메이션도 함께 처리
- sizeThatFits와 placeSubviews 과정이 iOS의 뷰 사이즈 결정 로직과 일치함
- 이 프로세스를 이해하지 못하면 동작 원리를 파악하기 어려울 수 있음
- 서브뷰들의 sizeThatFits를 호출하여 그 결과를 사용하는 점이 특이함
- 실제 구현 시 단순히 프레임을 지정하는 것보다 복잡함
- 레이아웃 프로토콜 채택 후 직접 구현해보니 어려움을 느낌
- sizeThatFits를 통해 뷰의 크기가 결정되는 과정이 흥미로움
- 스페이싱 설정이 매우 세밀하고 복잡함
- 위아래, 좌우 간격이 다르며, 인접 요소(텍스트, 이미지 등)에 따라 달라짐
- 플랫폼별로도 다른 스페이싱 적용
- Apple의 디자인에 대한 세심한 접근 방식이 드러남
- 컨티뉴에이션을 사용하면 앱이 충돌하지 않게 할 수 있음
- 자동 로그인 시 앱이 충돌하는 문제가 있었음
- 카카오 로그인 컨트롤러 구현 시 두 가지 처리가 필요했음:
- 메인 액터 처리
- 컨티뉴에이션의 명시적 해제
- 컴플리션 핸들러가 여러 번 호출되는 문제가 있었음
- 메인 액터 격리(isolation) 문제도 발생
- 로그인 시작점을 메인 액터로 처리하고, 각 단계마다 컨티뉴에이션 할당 및 해제를 명시적으로 관리함
- 비동기 처리를 위한 유틸리티를 개발하여 재사용
- 반환 방식을 Concurrency로 통일하면 사용이 편리해짐
- 유틸리티의 관리 주체가 불분명한 것이 문제
- 관리 주체를 명확히 정하면 코드 기여에 도움이 될 것
- 각 기능(이미지 저장, 컬러 저장, 폰트 저장 등)마다 저장 방식이 다를 수 있어 모듈화에 어려움이 있음
권승용 | 김대황 | 김인환 | 유정주 | 윤동주 | 이준복 | 이창준 | 홍승현 |
---|---|---|---|---|---|---|---|
ericKwon95 | qwerty3345 | loinsir | jeongju9216 | yoondj98 | junbok97 | SwiftyJunnos | WhiteHyun |