我想使用RxSwift观察UITextField.text
属性的任何变化。
我尝试使用rx.text
属性,但是只有在我设置text
这样的属性textField.text = ""
时,它才会调用,但是在键入文本时却无法使用。
我也尝试使用rx.observe(String.self, "text")
,但结果相同。
如何观察UITextField中文本的任何变化?
答案 0 :(得分:4)
要观察UITextField
中文本的任何变化,可以为Reactive
类创建扩展名:
public extension Reactive where Base: UITextField {
public var textChange: Observable<String?> {
return Observable.merge(self.base.rx.observe(String.self, "text"),
self.base.rx.controlEvent(.editingChanged).withLatestFrom(self.base.rx.text))
}
}