티스토리 뷰

< Section 3  - 앱으로 통합하기  >

 

< Ref - https://pointfreeco.github.io/swift-composable-architecture/main/tutorials/composablearchitecture/01-01-yourfirstfeature >

 

* 개요

 - 이제 Composable Architecture의 기능을 SwiftUI 뷰에 통합했습니다. 프리뷰에서도 이제 이것을 확인할 수 있게 되었죠.

 - 다음은 엔트리 포인트부터 시작해서 완전한 앱의 기능을 작동시키는 방법을 알아보겠습니다.

 - 이 방법에 대해 학습한다면 시뮬레이터나 실기기에서도 작동시킬 수 있게 됩니다.

 

* Step 1

  - 보통 앱의 엔트리 포인트는 파일 이름이 ~App.swift 로 끝나는 파일에 존재합니다. 아래와 같은 구조의 코드를 가지고 있어요.

 

* Step 2

  - 앱의 엔트리 포인트를 변경하기 위해 CounterView를 생성하고 store 를 지난 프리뷰 구현에서 했던 것처럼 작성합니다.

 

* Step 3

 - 앱에 힘을 불어 넣어주는 'Store'는 오직 단 한번만(only be created a single time) 생성되어야 한다는 점은 생각보다 꽤 중요합니다.

 - 대부분의 앱에선 Root에 해당하는 WindowGroup 안에 바로 'Store'를 생성하기 적절하지만, static 변수로 따로 빼서 아래와 같이 넣어주는 방법도 있을 수 있어요.

 

* 다음 단계로 넘어가기 전에..

 - TCA의 또 다른 강력한 힘은 Reducer가 제공하는 _printChanges(_:) 메서드 입니다. SwiftUI가 제공하는 것과 유사하죠.

 - 사용될 때 이 메서드는 Reducer가 처리하는 모든 action을 콘솔에 출력하고, action을 처리한 후에 어떻게 state가 변경되었는지 출력합니다. 

 

* Step 4

 - 앱의 엔트리 포인트를 업데이트하기 위해 reducer에 _printChanges(_:) 를 추가합니다.

 

* Step 5

 -  앱을 시뮬레이터에서 실행해서 작동시킨다음, +, -를 탭해보면서 콘솔에 어떻게 찍히는지 확인해보세요!

 

* Section 3 마무리 + 다음 섹션 예고

  - 여러분이 구현한 기능들 내에서 외부 세계와 커뮤니케이션하는 방법과 다시 여러분의 구현한 기능으로 외부 세계로부터 데이터를 피드백 받는 방법에 대해 알아볼게요.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함