Событие нажатия кнопки не распознается с помощью RxSwift - PullRequest
0 голосов
/ 20 января 2019

У меня есть UIViewController подкласс с 3 кнопками. После 3 нажатий на кнопку «продолжить» я вытаскиваю этот контроллер вида из стека навигации и выдвигаю другой экземпляр того же класса. Однако, когда я отправляю этот новый объект контроллера представления, я не получаю события rx.tap. После размещения .debug() на этих подписках и print(#function) на deinit() моего контроллера представления я получаю следующие журналы:

Log

Мне кажется, что программа не может отличить кнопки от двух экземпляров моего контроллера представления и, таким образом, подписывается во второй раз, прежде чем они удаляются.

Может кто-нибудь помочь мне решить эту проблему? Заранее спасибо.

Edit:

Вот как я подписываюсь на нажатие кнопок:

self.backButton.rx.tap
            .debug("back button")
            .bind(to: self.viewModel.backButtonPressed)
            .disposed(by: self.disposeBag)

1 Ответ

0 голосов
/ 22 января 2019

Вероятно, что событие completed из продолжения завершает работу любого, на что подписано, поэтому, когда вторая кнопка продолжения подписывается на него, последующие события из него игнорируются.

...