Наблюдение UITextField.editing с помощью RxSwift

Я хочу наблюдать свойство UITextfield.editing . Я использую этот код:

 self.money.rx_observe(Bool.self, "editing").subscribeNext { (value) in print("") }.addDisposableTo(disposeBag) 

Но в процессе работы он выполняется только один раз. Как я могу это решить, пожалуйста

  • RxSwift - поле UILabel не обновляется, когда UITextField обновляется программно
  • RXSwift Как создать оболочку для метода делегата с возвращаемым значением
  • проблема с наличием rx.tap для UIButton в UICollectionViewCell - RxSwift 3
  • Rxswift - как показать индикатор выполнения
  • RxSwift - неправильная концепция
  • Управление несколькими добавлениями с помощью ReactiveX (на iOS с Swift и Alamofire)
  • Связывание с UIRefreshControl после обновления с помощью RxSwift
  • Повторная подписка на Наблюдаемый после ошибки
  • 2 Solutions collect form web for “Наблюдение UITextField.editing с помощью RxSwift”

    Не соблюдайте свойство editing , потому что это не просто хранимое свойство. Он определяется как:

     public var editing: Bool { get } 

    Таким образом, вы не знаете, как UIKit действительно получает эту ценность.

    Вместо этого используйте rx_controlEvent и укажите управляющие события, которые вам интересны, например:

     textField.rx_controlEvent([.EditingDidBegin, .EditingDidEnd]) .asObservable() .subscribeNext { _ in print("editing state changed") } .addDisposableTo(disposeBag) 

    Для RXSwift 3.0

     textField.rx.controlEvent([.editingDidBegin,.editingDidEnd]) .asObservable() .subscribe(onNext: { print("editing state changed") }).disposed(by: disposeBag) 
    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.