reactor 3

[ReactorKit] ReactorKit 공부하기 #6 transform

ReactorKit 공부하기 #6 transform 리액터킷에서 다른 리액터와 합성을 통해 이벤트를 전달받는 메서드인 transform을 공부해보고자 함. 결과물 UI ReacotrKit Global StatesReactorKit의 경우에는 앱 상태에 대한 global state를 정의하지 않음.Global State를 정의하기 위해 어떠한 방법이든 자유롭게 사용 가능Global State를 사용하기 위해 BehaviorSubject, PublishSubject 심지어는 Reactor 자체를 사용할 수 있음.ReactorKit은 앱에서 특정 기능을 위해 Global State를 강제하지 않음장점: 이에 따라 구현의 자율성 증가단점: 개발자의 숙련도에 따라 난해해질 수 있음.Action -> Mutat..

[ReactorKit] ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)

ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)목표: Service 도입을 위해 RxTodo 코드 분석하기 RxTodo Service쪽 코드 분석ServiceProvider.swiftServiceProvider는 ServiceProviderType을 상속받아서 provider의 self로 주어 구현하는 ServiceProvider를 채택할 클래스에서 구현protocol ServiceProviderType: class { var userDefaultsService: UserDefaultsServiceType { get } var alertService: AlertServiceType { get } var taskService: TaskServiceType { get }}final cla..

[ReactorKit] ReactorKit 공부하기 #2

ReactorKit 공부하기 #2 해당 문서는 ReactorKit 3.2.0을 기준으로 작성.이번에는 테스트코드를 작성해볼 예정 들어가기 전RxTest는 반드시 CocoaPod에서 Tests 쪽으로 타겟을 잡아줘야 빌드 오류 없이 편안하게 진행 가능함. 테스팅ReactorKit의 경우에는 테스트를 위한 함수가 내장되어 있어서, 손쉽게 View와 Reactor 둘 다 테스트 가능. 그렇다면 무엇을 테스트 해야하냐면 총 3가지를 테스트하면 좋음View Action :: 주어진 유저의 상호작용에 따라 적절한 action이 reactor로 보내지는가?State :: 주어진 state에서 view의 변수가 적절하게 set(저장) 되는가?ReactorState :: action에 따라 state가 적절하게 변경..