Copipe에서 극복하는 엔지니어가 SwiftUI를 공부해 보았습니다 (파일 구성에 대해)

그런데, 지난번 SwiftUI의 실행 환경을 준비했습니다.
SwiftUI의 파일 구성과 가볍게 소스 분석
「Hello world」를 사용해 확인해 갑니다.
(전회: 코피페에서 극복하는 엔지니어가 SwiftUI를 공부해 보았다(환경 구축편) )

파일 구성 정보



프로젝트를 만들 때 기본적으로 많은 파일이 만들어진다.



  • TestHelloWorld
  • TestHelloWorldApp.swift
    작성할 애플리케이션의 진입점.
    @main 라고 기술된 개소가 해당.
  • ContentView.swift
    작성할 애플리케이션의 뷰 역할.
    화면에 표시할 버튼이나 문자를 배치한다.
  • Assets.xcassets
    앱에서 사용할 이미지를 저장하는 폴더입니다.
    표시하고 싶은 파일은 여기에 추가한다.
  • info.plist
    앱의 공통 설정.
    아이콘, 버전 설정 및 권한 주위 설정을 설정합니다.
  • Preview Content
  • Preview Assets.xcassets



  • TestHelloWorldTests
    XCTest 프레임워크를 사용하여 단위 테스트를 구현하기 위한 것.
    사용법은 아직 모르기 때문에 일단 스루로.
  • TestHelloWorldTests.swift
  • Info.plist


  • TestHelloWorldUITests
    XCTest 프레임워크를 사용한 UI 테스트를 설명합니다.
    이쪽도 사용법은 아직 모르기 때문에 스루로.
  • TestHelloWorldUITests.swift
  • Info.plist


  • Products
    각종 빌드 후의 어플리케이션 본체.
  • TestHelloWorld.app
  • TestHelloWorldTests.xctest
  • TestHelloWorldUITests.xctest


  • 실행까지의 흐름



    초기 시작(진입점)



    이제 위의 폴더 구성에 설명 된대로,
    SwiftUI에서는 초기 기동(엔트리 포인트)은
    @main 」로 지정된다고 하는 것.
    그러니까, 「이 프로그램은 어디에서 시작되는 것일까?」가 되면
    우선은 「 @main 」를 찾으면 좋을까 생각합니다.
    import SwiftUI
    
    @main
    struct TestMusicLibraryForSwiftUIApp: App {
        var body: some Scene {
            WindowGroup {
                ContentView()
            }
        }
    }
    

    진입점인 TestMusicLibraryForSwiftUIApp에서 호출됨
    ContentView도 위의 폴더 구성에서 설명한대로,
    화면 레이아웃을 설명합니다.
    아래에 설명 된대로 Text ( "Hello, world!"). padding ()
    에서 화면에 "Hello, world!"라는 문구를 표시합니다.
    또한 ContentView_Previews 측은 미리보기 표시 중에 사용됩니다.
    import SwiftUI
    
    struct ContentView: View {
        var body: some View {
            Text("Hello, world!")
                .padding()
        }
    }
    
    struct ContentView_Previews: PreviewProvider {
        static var previews: some View {
            ContentView()
        }
    }
    

    이상! 일단 이 정도로!

    좋은 웹페이지 즐겨찾기