매일 매일 성장하는 섭섭군

[SwiftUI] SwiftUI의 프로젝트 구조 본문

개발관련/Swift & iOS

[SwiftUI] SwiftUI의 프로젝트 구조

섭섭군 2022. 7. 30. 15:38
반응형

SwiftUI의 프로젝트 구조

처음 SwiftUI 프로젝트를 생성하게 되면 다음과 같은 구조로 자동으로 생성되게 된다.

스크린샷 2022-07-25 오후 3 51 45

SwiftUITest 라는 프로젝트 명 밑에 크게 3개의 폴더들이 존재한다.

  • [ProjectName] : 프로젝트의 메인 코드가 작성되는 공간이다. View, Model, Controller 등이 포함될 수 있다.
  • [ProjectName]Tests : Unit Test를 생성하고 동작시킬 수 있는 공간이다.
  • [ProjectName]UITest : UI Test를 생성하고 동작시킬 수 있는 공간이다.

프로젝트의 구조를 살펴보면서 TestCase 구성에 관한 세팅을 미리 제공해 준다는 것에 놀랐다... (그것도 UI와 Unit 모두..)
Test Case의 구성 및 작성은 다음번에 살펴보도록 하고 우리가 작성해야 할 Code 부분을 중점적으로 살펴보자!

프로젝트와 이름이 같은 폴더로 내력가 살펴보면 다음과 같은 파일들이 존재한다.

  • [ProjectName]App
    스크린샷 2022-07-25 오후 4 16 21
    main 구문이라고 생각하면 좋을 것 같다.
    우선적으로 여기서는 App의 첫 화면을 보여주고 있는 코드가 있다.
    위 코드대로라면 ContentView를 처음으로 보여줄 화면이라고 작성되어 있다.

  • ContentView
    스크린샷 2022-07-25 오후 4 19 08
    ContentView에는 View와 PreviewProvider 두개의 구조체가 존재하고 있다.
    View는 실제 화면을 그리는 구조체이다.
    Preview는 오른쪽에 보이는 화면처럼 Preview에 표현될 속성들을 담고 있다.
    이러한 구조는 ContentView 뿐만 아니라 개발자가 임으로 만드는 View에도 포함된다.

SwiftUI는 코드를 수정할때마다 컴파일 없이 UI를 직접 볼 수 있다. 이를 가능하게 해주는 것이 Preview 기능이 있기 때문이다.
단순히 화면을 보는것을 넘어서 어떠한 Action(ex: Button Click)과 같은 동작들도 Preview로 확인이 가능하다.
updown

간단하게 첫 프로젝트를 생성했을 때의 SwiftUI의 프로젝트 구조를 살펴보았다.
첫인상으로는 SwiftUI가 기존 Swift와는 다르게 View 중심으로 프로젝트를 구성해 나아갈 것 같은 느낌이 든다.
App을 개발할 때 수 많은 View를 어떻게 관리를 할지에 대해서는 차차 살펴보도록 하자.

반응형
Comments