RxSwift설명
작성일
let idValid: BehaviorSubject<Bool> = BehaviorSubject(value: false)
를 활용해서
let idInputOb: Observable<String> = idField.rx.text.orEmpty.asObservable()
let idValidOb = inInputOb.map(checkEmailValid)
idValidOb.subscribe(onNext: { b in
self.idValid.onNext(b)
})
이런 형태로 넣어줄 수 있다.
통로만 만들어두고, 나중에 밖에서 넣어줄 수 있는것이 idValid(Subject)이다.
idValidOb.subscribe(onNext: { b in
self.idValid.onNext(b)
})
이부분은
idValidOb.bind(to: idValid)
이런 형태로 바꿔서 사용할 수 있다. idValidOb에서 값이 발생하면, idValid값으로 전달이 된다는 소리이다.
간결하게 쓰면
let idInputOb: Observable<String> = idField.rx.text.orEmpty.asObservable()
가
idInputOb.map(checkEamilValid)
.bind(to: idValid)
.disposed(by: disposeBag)
데이터 스트림의 값을 담아서 idValid란 외부 스트림에 보내준 것이다.
idFeld.rx.text.orEmpty
.subscribe(onNex:)
.disposed(by: disposeBag)