Skip to content

Boost‐SwiftUI‐2024.07.09(화)

junbok97 edited this page Jul 21, 2024 · 1 revision

원본 텍스트 파일

0709 SwiftUI 뿌수기.txt


240709 SwiftUI 스터디 요약

  • 2024.07.09 화 오후 9:06 ・ 96분 16초
  • 권승용 권승용 유정주 정다함 홍승현 이준복
  • 클로버노트를 이용해 회의 내용을 기록하고, GPT를 이용해 요약, 편집했습니다.

iOS 및 SwiftUI 스터디 요약

Grid와 LazyVGrid

  • Grid: 열을 만들기 위해 GridRow를 사용한다.
  • LazyVGrid: GridRow를 사용하지 않고 ForEach를 사용하여 열을 만든다. 두 컴포넌트의 차이점은 LazyVStackVStack의 차이와 비슷하다.
  • 장점: Grid를 사용하면 레이아웃을 좀 더 세부적으로 제어할 수 있다.

GridRow의 활용

  • Grid 안에서 GridRow를 사용하면, 각 GridRow가 하나의 열이 된다.
  • LazyVGrid와 달리 GridGridRow 안에 요소를 배치하여 열을 구성한다.

iOS 버전 호환성

  • iOS 16 이상: 새로운 Grid 기능을 사용할 수 있다. iOS 15에서는 사용 불가.

SwiftUI의 성능

  • UIViewController와 달리 SwiftUI는 구조체 기반으로 뷰를 그린다.
  • 재사용 메커니즘: SwiftUI는 뷰를 재사용하지 않으며, 이는 UIkit과의 큰 차이점이다.
  • 퍼포먼스 관리: 개발자가 직접 뷰의 퍼포먼스를 신경 쓰기보다는 SwiftUI가 자동으로 관리해준다.

SwiftUI의 특징

  • 선언형 언어: 개발자가 많은 세부 사항을 신경 쓰지 않아도 된다. 상태 변화에 따라 뷰가 자동으로 업데이트된다.
  • 상태 관리: StateBinding을 사용하여 뷰의 상태를 관리한다.
  • 뷰 레이아웃: VStack, HStack 등을 사용하여 뷰를 쉽게 구성할 수 있다.

Property Wrappers

  • State: 뷰의 상태를 관리한다.
  • Environment: 앱 전체에 걸쳐 동일한 데이터를 공유할 수 있게 한다.
  • Bindable: 데이터 바인딩을 쉽게 할 수 있게 해준다.

Navigation과 ViewModel

  • Navigation Path: 뷰 간의 네비게이션을 관리하는 방법으로, @StateObject@EnvironmentObject를 통해 뷰 모델을 전달한다.
  • 싱글톤 패턴: 네비게이션 컨트롤을 싱글톤 패턴으로 관리하여 뷰 모델에 접근한다.

스터디의 방향성

  • 뷰 그리기: SwiftUI에서 뷰를 그리는 방법을 익히는 것을 우선으로 한다.
  • 상태 관리: State, Bindable, Environment의 사용법을 익히는 것을 중요하게 생각한다.
  • 깊이 있는 학습: 개념과 메커니즘을 이해하기 위해 필요한 경우 더 깊이 파고든다.

추가적인 학습

  • WWDC 영상: Apple의 공식 영상을 통해 SwiftUI와 관련된 새로운 기능과 개념을 학습한다.
  • 실습과 이론 병행: 코드 실습과 이론적 이해를 병행하여 SwiftUI의 사용법을 익힌다.
Clone this wiki locally