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)