TIL(Today I Learned)
10월 31일(일)
학습내용
- SwiftUI(CS193p Lecture1)
-
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이 들어가야하나, 생략할 수도 있다.
-
참고
- “Lecture 1: Getting started with SwiftUI” : https://youtu.be/bqu6BquVi2M