개발을 시작하는 이야기

[SwiftUI] Lecture 1: Getting started with SwiftUI 본문

개발 이야기/Swift

[SwiftUI] Lecture 1: Getting started with SwiftUI

Teiresias 2022. 4. 8. 18:16

강의 보기 : YouTube :: Stanford

 

12분까지는 오리엔테이션 및 제작할 프로젝트에 대한 설명

15분까지는 Xcode에 대한 설명 및 설치

21분까지 프로젝트 생성에 대한 설명이다.

33분까지가 생성된 파일과 Preview화면, Assets, Project 파일들에 대한 설명들이다.

기본기는 이미 알고있다거나, 다시 리마인드로 듣는다면 33분부터 봐도 될 듯하다. 물론 나는 처음부터 시청.


SwiftUI 상태 기반 프레임워크로 뷰의 Reference를 가져오거나 뷰를 임의로 수정할 수 없음.

struct ContentView: View {
    var body: some View {
        Text("Hello, world!")
            .padding()
    }
}​

someOpaque Type, 불투명한 타입을 이야기함.

불투명한 타입(Opaque Type)

Opaque Type은 Generic Type에 반대라고 할 수 있다. 

Generic Type은 함수를 호출하는 코드에서 함수의 매게 변수와 반환 값의 타입을 선택하는 방법으로 이를 함수 구현에서 분리하여 떨어뜨려 놓는데 반해, Opaque Type은 함수 구현에서 반환하는 값의 타입을 선택하는 방법으로 이를 함수 호출 코드에서 분리하여 떨어뜨려 놓는다.

 

View타입이 포함되어 있다면 return이 가능함

ZStackUIStackView와 비슷한 여러 객체를 묶는 역할을 한다.

RoundedRectangle : 모서리가 둥근 직사각형

struct ContentView: View {
    var body: some View {
        return ZStack {
            RoundedRectangle(cornerRadius: 20.0)
                .stroke(lineWidth: 3)
            Text("Hello, CS193p!")
        }
        .padding(.horizontal)
        .foregroundColor(.red)
        
    }
}

ZStack에 속성 값을 적용하면 ZSack 내부에 포함된 객체에게 동일하게 적용됨.

ZStack에 적용하고 내부에 별도로 추가 적용했다면 내부에 적용된 속성의 우선순위가 더 높다.

위의 예시에서 ZStack에 red 색상을 적용했지만, RoundedRectangle에 blue 색상을 적용했다면 사각형 테두리는 blue가, Text는 red가 적용된다.


아직 1일차 이지만 지금까지 배운 내용을 보면 SCSS와 작성이 비슷한 면이 많은것 같다.

 

'개발 이야기 > Swift' 카테고리의 다른 글

[SwiftUI] Lecture 3: MVVM and the Swift type system  (0) 2022.04.12
[SwiftUI] Lecture 2: Learning more about SwiftUI  (0) 2022.04.10
UIKit  (0) 2022.04.05
Foundation  (0) 2022.04.04
[SwiftUI] SwiftUI란?  (0) 2022.04.03