【问题标题】:How to observe text change in UITextField using RxSwift?如何使用 RxSwift 观察 UITextField 中的文本变化?
【发布时间】:2018-10-25 07:21:34
【问题描述】:

我想使用 RxSwift 观察 UITextField.text 属性的任何变化。

我尝试使用rx.text 属性,但它仅在我设置text 属性时调用:textField.text = "",但在我输入文本时不起作用。

我也尝试使用rx.observe(String.self, "text"),但结果相同。

如何观察 UITextField 中文字的变化?

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    要观察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))
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 2016-06-16
      • 2017-01-30
      • 1970-01-01
      • 2019-06-30
      • 2020-10-06
      相关资源
      最近更新 更多