-
[SwiftUI] 기본구조와 키워드iOS/Swift 2022. 7. 24. 18:43
📔 SwiftUI
- import SwiftUI
swiftui 프레임워크를 가져온다. (framework: 여러 공유자원을 단일 패키지 형태로 담고 있는 디렉토리, 라이브러리와 달리 리소스 포함 가능)
- struct ContentView: View
View를 상속받는 ContentView 구조체가 선언되어있다.
안에는 body가 필수로 있어야 한다.
- var body : some View
View타입으로 선언되어있다.
body 변수는 최상위 뷰의 역할을 한다.
- ContentView_Preview
Xcode 11 버전 이후 시뮬레이터 없이도 화면을 실시간으로 미리볼 수 있는 Canvas 기능이 생겼다.
실제 앱에는 적용되지 않고, 위의 Canvas기능을 위한 미리보기 레이아웃이다.
📔 some 키워드
- some
Swift 5.1에서 생긴 키워드로, (특정한 조건을 만족하는 제네릭 타입의 View)
명확하지 않은 타입을 컴파일러에게 구체적인 타입을 반환한다고 확신을 주는 키워드
- some을 쓰지 않는다면
함수나 연산 프로퍼티를 만들어서 이 프로토콜을 반환 타입으로 가지고 싶을 때(명확하지 않은 타입이 프로토콜에 정의되어 있고)
명확하지 않은 타입이라서 컴파일 과정에서 오류가 발생한다.
-> 오류를 없애주기 위해 타입을 명확하게 만들어주는 것이 some 키워드이다.
컴파일러에게 이 함수 또는 연산 프로퍼티는 동일한 명확한 타입을 가진 값만을 반환한다는 것을 알려주는 것이다
다양한 view 프로토콜을 준수하는 구조체를 사용할 수 있게 된다.
텍스트, 이미지 등 어떠한 많은 구조체들이 선언될지 알 수 없으니까 some View를 사용해서 다양한 구조체들을 생성하고 없애고 할 수 있다.
'iOS > Swift' 카테고리의 다른 글
[iOS] MVC to MVVM 디자인(아키텍쳐) 패턴 (0) 2023.06.06 [Swift 문법] 접근제어 (Access Control) (0) 2022.08.07 [SwiftUI] HStack영역 터치 가능하게 하기 (0) 2022.07.10 [Swift] 커스텀 가능한 폰트 모두 출력 (0) 2022.06.29 [SwiftUI] 글자에 alpha값 적용하기 (0) 2022.06.21