ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SwiftUI] 기본구조와 키워드
    iOS/Swift 2022. 7. 24. 18:43

    기본 SwiftUI 파일

    📔 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를 사용해서 다양한 구조체들을 생성하고 없애고 할 수 있다.