기어가더라도 제대로

[SwiftUI-기초] SwiftUI의 기본 구조 본문

SwiftUI - 기초

[SwiftUI-기초] SwiftUI의 기본 구조

Damagucci-juice 2022. 10. 4. 20:30
  • "앱이름"App.swift
    • 앱을 런칭하는데 필요한 코드를 포함하는 파일
  • ContentView.swift
    • 프로그램의 초기 UI 담당
  • Assets.xcassets
    • asset 카탈로그
    • 앱에서 사용할 사진의 모음
    • 색, 앱아이콘, 등등 여기에 추가
  • Preview Content
    • Preview Assets 파일과 함께있는 그룹
    • UI 를 구성하는데 필요한 이미지를 담을 수 있음
    • 구성이 프로그램이 동작하면서 어떻게 보일지를 알려줌

기본 구성요소 살펴보기

  • import SwiftUI
    • SwiftUI framework 를 사용하겠다는 선언
  • struct ContentView: View 
    • ContentView 라는 것이 View 프로토콜을 따를 것이라고 선언
    • 스크린에 그리려면 SwiftUI 에서 제공하는 View 라는 프로토콜을 채택해야함
  • var body: some View
    • body 라는 연산 프로퍼티를 정의
    • some View 타입이다. (2022.10.01 - [Swift - 기초] - [Swift - 기초] Protocol, Opaque return type(some))
    • View 프로토콜을 만족하는 우리가 그린 뷰 라는 뜻 정도 된다.
    • 우리가 그린 뷰는 사실 그린 모든 복잡한 레이아웃의 총합인데, some View 를 사용하면 그 타입을 일일히 지정할 필요가 없다.
    •  view 에 우리가 원하는 프로퍼티와 메서드를 추가할 수 있는데, body 는 반드시 하나 있어야 한다.
  • Text("Hello, world!")
    • 화면에 괄호 안에 문자열을 보여주는 간단한 정적인 텍스트이다.
    • 필요하면 여러줄이면 자동으로 줄바꿈이 된다. 
  • padding()
    • text view 에 작용하는 메서드
    • modifier 라고 Swift 에서 부름
    • 한정어(modifier) 와 일반 메서드는 딱 한가지가 다름
      • 주문한 수정 부분을 더한 원본 데이터가 항상 리턴됨
    • 이 한정어를 거치면 그냥 text View 가 아니라 padded text View 이다. \
  • ContentView_Previews
    • PreviewProvider 프로토콜을 채택
    • 실제 앱스토어에 올라가는 앱을 형성하는 부분이 아님
    • 당신의 코드가 형성하는 UI를 미리 보여주도록 Xcode 가 이용할 뿐임
    • canvas 라는 특성을 이용
    • 여기서 코드 수정을 하면 canvas 에 레이아웃이 변경되는 데에 반영이 될 뿐이지 코드에 영향을 주진 않음
    • 코드를 짜다가 canvas 가 업데이트 되는데 실패하는 경우가 있는데 이 때 option + command + P 를 누르면 다시 시도한다.

 

원본 번역

https://www.hackingwithswift.com/books/ios-swiftui/understanding-the-basic-structure-of-a-swiftui-app

 

Understanding the basic structure of a SwiftUI app - a free Hacking with iOS: SwiftUI Edition tutorial

Was this page useful? Let us know! 1 2 3 4 5

www.hackingwithswift.com

 

Comments