我注意到
textField.publisher(for: \.text)
在编辑完成时传递事件,但不针对每个字符/编辑更改传递事件。如何获得发布者,该发布者每次更改都会发送偶数?
在ReactiveSwift中,它将是
textField.reactive.continousTextValues()
在RxSwift中,它只是(How do you get a signal every time a UITextField text property changes in RxSwift)
textField.rx.text
我采取的方法:
publisher(for:options:)
方法,但是没有适当的选项可实现所需的结果。 textField.addTarget(self, action: #selector(theTextFieldDidChange), for: .editingChanged)
(UITextField text change event)@Published
变量,隐藏的值实际上是来自-的(或者我错过了吗?)。 目前,我不知道如何执行此操作,因此我倾向于回到ReactiveSwift,但是在向后退一步之前,我想问一下您。
最佳答案
不幸的是,Apple没有为此添加发布者到UIKit,并且因为UIControl没有实现KVO,所以publisher(for:)
发布者不能按预期工作。如果您可以在项目中添加依赖项,那么可以使用一些不错的UIControl发布者here。
或者,您可以实现自己的发布者来执行此操作,或者订阅文本字段以旧的方式进行更改。