【发布时间】:2019-05-28 10:56:00
【问题描述】:
我的视图控制器中有一些文本文件。并使用 rx-swift 观察 .editingDidBegin 事件。
我想判断哪个文本字段发送事件。
let tags = txtFieldArray.map{($0.rx.controlEvent(.editingDidBegin), $0.tag)}
.map{obs, tag in obs.map{tag}}
let value = Observable.merge(tags)
value.bind {[weak self] (tags) in
guard let strongSelf = self else { return }
if let view = strongSelf.ipEnteryView.viewWithTag(tags) as? UITextField {
strongSelf.viewMode.changeTextFiledBottomColor(view, true)
}
}.disposed(by: disposedBag)
txtFieldArray 的第一个映射返回一个数组,元素是元组(据我了解),第一个是 controlEvent,第二个是一个 int 值。我不明白的是第二个地图功能。 Obs 是 contrlEvent 类型。为什么 obs.map{tag} 返回一个 observable。以及如何理解 obs.map{tag}} 中的 map{obs, tag? 非常感谢!
【问题讨论】: