Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TCA) button을 눌러 View 전환시키기 #2

Closed
MoSonLee opened this issue Apr 11, 2022 · 0 comments
Closed

TCA) button을 눌러 View 전환시키기 #2

MoSonLee opened this issue Apr 11, 2022 · 0 comments

Comments

@MoSonLee
Copy link
Owner

MoSonLee commented Apr 11, 2022

  1. MainTabState에 button이 눌렸는지 안 눌렸는지 상태 값을 저장하는 isRecordButtonTapped 변수 선언 및 init

    • image
    • image
  2. action에 버튼이 눌렀을 때의 액션을 선언해준다(Bool 타입)

    image

  3. tabReducer에 recordReducer을 pullback 해준다.

    • image
  4. reducer 내에서 moveToRecordViewButtonTapped의 케이스를 처리해준다.

    • image
      • 버튼이 pushed 됐으면 state에 recordState를 넣어주는 것이다.
  5. RecordView(button이 눌렸을 때의 view)를 생성해준다.

    • 당연히 MainTab의 정보를 알아야하므로 store에 maintabstate, action을 넣어준다.( 당연히 init도 잊지말자!)
    • viewStore안에 isRecordButtonTapped state를 알아줘야 하므로 선언해준다.
      • isRecordViewPushedViewStore: 이건 내가 임의로 잡아주었다! 이왕이면 직관적인 이름을 사용하자(길이 상관X)
    • NavigationView를 이동시키니는 것이니 NavigationLink를 사용!
      • destination안에 IfLetStore를 사용해서 store안에 record의 정보들이 있으면 RecordView를 init시켜준다!
      • image
        • 생각해보면 isRecordViewPushedViewStore를 binding 시켜 MainTabAction안에 있는 moveToRecordViewButtonTapped에 그 값을 전달해주는 것 같다.
      • 나머진 모두 지금까지 써왔던 방식과 동일하다.
      • 전체 코드
        • image
      • 마지막에 isDetailLink를 true로 해줘야 한다.
@MoSonLee MoSonLee changed the title TCA로 구현시 button이 눌렸을 때 화면 전환 액션을 core에 넣어주는 법 TCA) button을 눌러 View 전환시키기 Apr 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant