TIL(Today I Learned)

10월 31일(일)

학습내용

  • SwiftUI(CS193p Lecture1)
    • Xcode

      Xcode

      • 왼쪽은 Code Editor, 중간은 Preview, 오른쪽은 Inspector이다.
      • Inspector를 수정하면 Code가 같이 수정되고, Code를 수정해도 Inspector가 같이 수정된다.
        • Inspector에 추가하고 싶은 modifier를 Inspector하단의 Add Modifier를 통해 추가할 수 있다.
    • var body: some View의 의미 [영상 44:00 - 55:19]

        struct ContentView: View {
            var body: some View {
                Text("Hello, world!")
                    .padding()
            }
        }
      
      • View 프로토콜을 채택한 struct는 body라는 연산프로퍼티를 구현해야한다.
      • body는 some View 타입이며, 클로져에서 View의 일종?을 반환해야 한다.
      • 즉, some View는 some kind of view 타입이라는 의미이다.
      • 클로져 내부에서는 여러 뷰가 조합될 수가 있어서(combiner view) 특정 타입으로 한정하기가 불가능하기 때문에 뷰의 일종이 반환된다고 나타내는 것이다.
      • 실제로 컴파일을 진행하면 some View가 클로져에서 반환하는 타입으로 변환한다. 예를 들어, 클로져 내부에서 텍스트를 반환하면 body의 타입이 컴파일타임에 텍스트로 변경되는 것이다.
      • 클로져 내부에서는 return이 들어가야하나, 생략할 수도 있다.

참고