[동계 모각코] [1회차] Swift 컴포넌트, SwiftUI 정리

MoonGoon·2023년 1월 4일
0

모각코

목록 보기
2/19
post-thumbnail

Programmers swift

  • Swift와 SwiftUI의 차이
    • Swift
      • 파일 그 자체?
    • SwiftUI
      • UI를 그리는 도구
      • SwiftUI의 앱 코딩 기본 원칙 UI와 앱 데이터를 분리시키기 → Body부분은 UI만 변수 초기화등은 body 외부에서 실행하도록 하기
  • SwiftUI
    • 컴포넌트
      • Stack HStack: 컴포넌트들이 가로로 배치되게 하는 컨테이너 VStack: 컴포넌트들이 세로로 배치되게 하는 컨테이너
        • HStack이나 VStack에 (spacing: num) → 내부 요소들을 num 간격으로 배치함
      • Disclosure
      • 도형의 속성
        • .animation
          • 상태 변화시 애니메이션으로 보여줌
        • 속성에 삼항연산자 사용으로 만약 isOn이라는 boolean 값이 있다면 버튼을 통해 참, 거짓을 바꿔주어 SwiftUI에서 즉각적인 변화를 보여 줄 수 있다
    • SwiftUI 기본 제공 보기
      • 다른 사람이 상호 작용을 통해 앱 데이터와 상태를 변경할 수 있는 슬라이더, 토글, 선택기와 같은 기본 제공 보기 제공
      • 기본 제공 보기에는 다른 보기와 데이터를 공유하기 위한 바인딩 이라는 방법이 있음
      • 바인딩
        • 두 보기 사이에서 데이터 변경 사항을 전달하는 키
    • 도구 막대에 추가 버튼 배치하기
      • .toolbar 사용법
        .toolbar {
        	ToolbarItem {
        		NavigationLink("[text]"){
        			[아동할 .swfit파일].navigationTitle("[text]")
  • 상태속성
    • 속성 래퍼
      • @State

        속성 앞에 @state를 추가하여 SwiftUI가 값에 대한 저장 공간을 관리하도록 지시. 값이 변경되면 SwiftUI는 해당 값을 사용하는 보기의 모든 부분을 업데이트 한다

        @State var isOn = false

        →isOn이 상태 속성으로 바뀜. → 보기의 상태가 변경될 때마다 보기의 영향을 받는 부분을 업데이트함

      • @Published

        • 값이 변경되려고 할 때 모든 관찰자에 알림을 보내는 속성
      • @StateObject

        • SwiftUI가 관찰 가능한 객체를 관리하도록 지시함
  • 고무오리 디버깅
    1. 고무 오리를 구한다.
    2. 고무 오리를 책상에 올려놓고, 디버깅을 시작하자고 말한다.
    3. 고무 오리에게 코드의 목적을 소개한 후, 한줄씩 상세히 설명한다.
    4. 고무오리가 깨달음을 준다.
  • Navigation
    • NavigationLink
      • NavigationLink를 통해 앱의 다른 보기로 이동하거나 새로운 창으로 이동 가능하다.
    • NavigationStack
      • 화면 전환 네비게이션 방식을 스택처럼 적용함
      • struct NavigationStack<Data, Root> where Root : View
      • NavigationStack 내부에 NavigationLink를 다른 페이지로 넘어감
    • NavigationSplitView
profile
Swift 개발자를 희망합니다

0개의 댓글