본문 바로가기

iOS/ReactorKit3

[ReactorKit] ReactorKit의 transform() 사용하기 ReactorKit에서 View에서 action을 전달하고, action에 따른 처리를 mutate()를 통해 Mutation으로 방출하여 reduce()에서 State 값을 변경시켰었죠. View에서는 state값을 바인딩하여 값 변경 시 UI를 업데이트 시켜줍니다. 그렇다면 . . transform은 언제 쓰는데 . .? Github를 보면 transform은 각각의 stream을 transform()한다 . .라고 나와있는데요. Global States에서 많이 사용된다고 합니다. 처음에 ReactorKit을 접하고 읽었을 때는 뭔소린가 싶었지만 실제로 사용하고 나니까 이해가 수월하더라고요 ! 먼저 Global States란 ? 예를 들어, currentUser가 바뀔 때마다 다른 View의 화면 .. 2022. 12. 6.
[ReactorKit] RxDataSources로 CollectionView 구현하기 공부한 것들 기록하려고 합니다 . . ! 혼자 공부한 것이므로 틀린 내용이 있을 수 있습니다 . . iOS - RxDataSources 프로젝트를 진행하면서 collectionView를 구현하는데 RxDataSources를 사용하였는데요. 기존에 DataSource를 사용하던 방식과 달리 따로 프로토콜을 채택하여 구현해줄 필요없이 데이터 바인딩을 통해 collectionView를 구현할 수 있는 방법입니다 . . ! 저는 ReactorKit을 사용하고 있기 때문에 RxDataSources를 사용하여 각각의 Cell에 전용 Reactor를 생성하여 Cell이 UI 업데이트를 할 때, 이 Reactor 인스턴스를 받아서 사용하도록 하였습니다. lazy var monthDataSource = DataSourc.. 2022. 11. 17.
[ReactorKit] ReatorKit 살펴보기 새로운 프로젝트를 시작하면서 ReactorKit을 도입하여 개발중에 있는데 . . 이 시점에서 좀 더 꼼꼼히 정리해보고자 합니다 . . ! (최근에 기록의 중요성을 뼈저리게 느껴요 ㅜ) ReactorKit 이란 ? ReactorKit은 View에서 Action이 발생하면 Reactor가 이를 처리하여 State를 업데이트합니다. View에서는 필요한 State를 binding하여 State가 업데이트됨에 따라 View를 업데이트하는 방식입니다. View View에는 어떠한 비즈니스 로직도 존재하지 않습니다. Action을 Reactor에게 넘기고, Reactor의 State들을 구독하고 있는 형태로 이해하면 좋을 것 같습니다. 사용 예시를 코드로 살짝 보도록 하겠습니다. class HomeViewCont.. 2022. 11. 10.