RxSwift
[RxSwift] Network 통신하기
이번에는 알바집 앱 회원 가입 api 로직을 rx로 변경해보았다! 📌 소스 코드 class RegisterDataManager{ func postRegister(parameters: RegisterRequest) -> Observable { return Observable.create { (observable) in let request = AF.request("\(Constant.BASE_URL)~~", method: .post, parameters: parameters, encoder: JSONParameterEncoder(), headers: nil) .validate(statusCode: 200..
[RxSwift] UITextField에 Rx 적용하기
요즘 rx 공부를 하면서 알바집 코드에 rx를 적용해보려고 한다! 취업전 코드라 엄청난 레거시지만 차츰 mvc -> rx+mvvm 구조로 변경해볼생각이다 ㅎㅎ 오늘 적용해볼 화면은 "비밀번호 입력" 화면이다. 📌 요구 사항 비밀번호 입력 textfield 6자리 이상✅ 비밀번호 확인 textfield 비밀번호 입력창 텍스트와 일치할 경우 ✅ 일치하지 않을 경우 에러메시지 show 텍스트 빈값이면 에러메시지 hidden 위 조건들의 모두 참일때 다음 버튼 활성화 ➡️ 📌 구현 viewModel import RxSwift import RxCocoa struct RegisterPasswordViewModel { // 비밀번호 텍스트 let pwdText = BehaviorRelay(value: "") // 비..
[RxSwift] ReactorKit 알아보기
ReactorKit이란 반응 및 단방향 Swift 애플리케이션 아키텍처를 위한 프레임워크 RxSwift의 강점인 비동기 처리에 편리한 코드 작성 가능 1. View는 Action을 Reactor에게 전달 2. Reactor는 전달받은 Action에 따라 비즈니스 로직을 수행 3. Reactor는 State를 변경하여 View에게 전달 Reactor 내부에서는 2개의 함수로 action을 받아 state를 반환함 1. mutate() - Action이 들어온 경우 어떤 처리를 할지 분기 - Mutation을 reduce 함수로 방출 2. reduce() - 이전 State와 Mutation을 받아서 다음 State를 반환 💡 예제 CounterViewReactor import Foundation impor..