SwiftUI 컨셉

  1. 선언형

    선언형으로 UI코드를 작성함.

  2. 자동화

    프레임워크에서 자동으로 수행하는 코드를 늘려 개발자가 구현해야 하는 코드의 양을 줄임.

  3. 조합

    작은 뷰 여러개를 조합해 뷰를 만들 도록 설계되어 있어 재사용성이 높다.

  4. 일관성

    UI는 항상 데이터와 동기화되어 있어 일관성있게 보임.

App

@main
struct SwiftUI01App: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

프로젝트를 생성하면 (앱이름)App.swift파일이 자동으로 생성된다.

WindowGroup?

window라는 개념은 뷰들의 컨테이너 역할 담당. 터치 이벤트와 같은 이벤트를 가장 먼저 수신해서 subview들에게 전달해 주는 기능

자동으로 생성된 contentview를 사용함.

contentView: 본격적으로 뷰를 선언함.

struct ContentView: View {
  var body: some View {
    VStack {
      Image(systemName: "globe")
        .imageScale(.large)
        .foregroundColor(.accentColor)
      Text("Hello, world!")
    }
  }
}