簡體   English   中英

如何在 RxSwift 中獲取 controlEvent 類型?

[英]How can i get controlEvent type in RxSwift?

我添加了文本字段兩個控件,即使使用 RxSwift,我也想在一個方法中做不同的事情。

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 類型? 可能嗎?

嘗試這個:

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 {
    //....
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM