如何在 RxSwift 中获取 controlEvent 类型?

3

我使用 RxSwift 添加了两个文本字段(textfield)控件,现在想在一个方法中分别处理它们的值。

textField.rx.controlEvent([.editingDidBegin, .editingDidEnd])
        .asObservable()
        .subscribe(onNext: { event in
            // setFocusing(withType: ControlEvent)
        })

private func setFocusing(type: ControlEvent) {
    if type == .editingDidBegin { 
       //....
    } else if type ==.editingDidEnd {
       //....
    }
}

我想要执行所有的方法,但是我怎么获取 controlEvent 类型?这可能吗?
1个回答

2

试试这个:

Observable.merge(
  [.editingDidBegin, .editingDidEnd]
    .map { event in
      textField.rx.controlEvent(event).map { event }
    }
)
.subscribe(onNext: setFocusing)

func setFocusing(type: UIControl.Event) {
  if type == .editingDidBegin {
    //....
  } else if type == .editingDidEnd {
    //....
  }
}

它能正常运作并且非常有帮助。感谢这个! - Avengement

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接