본문 바로가기
Swift 개발 이야기

RxSwift 로 간단하게 텍스트의 변화 감지하기

by 방화동한량 2018. 3. 9.
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 를 출력해줍니다.