Swift 개발 이야기
RxSwift 로 간단하게 텍스트의 변화 감지하기
방화동한량
2018. 3. 9. 18:58
728x90
RxSwift 는 반응형 프로그래밍으로 비동기적인 변수의 변화를 손쉽게 다룰 수 있읍니다.
아래의 간단한 예시로 말씀드리겠읍니다.
먼저 변화를 감지할 인스턴스를 생성합니다.(기본적으로 RxSwift 와 RxCocoa 를 import 해주는 것을 잊지 맙시다)
let rxText = Variable<String?>(nil)
텍스트를 입력할 텍스트필드도 만들어줍시다.
let myTf = UITextfield()
myTf 를 rxText 인스턴스의 변화를 관찰할 수 있는 드라이버로 지정해줍시다.
myTf.rx.text.asDriver().drive(rxText).disposed(by:disposeBag)
rxText 를 이제 관찰해봅시다.
rxText.asObservable().debounce(1, scheduler:MainScheduler.instance).subscribe(onNext: { (text) in
print(text)}).disposed(by:disposeBag)
해당 함수를 실행하게 되면 myTf 가 변화를 감지하여, 1초 간격으로 변화된 rxText 를 출력해줍니다.