Это то, что я делаю, чтобы установить UIBarButtonItem:
mainView.userBarButtonItem.rx.tap.bind { _ in
self.router.presentUserController(from: self)
}.disposed(by: bag)
, но теперь мне нужно сделать sth, чтобы вызвать это закрытие. Как;?
)Попробуйте это, будет отлично работать
mainView.userBarButtonItem.rx.tap.subscribe(onNext: { [unowned self] in
self.router.presentUserController(from: self)
}).disposed(by: disposeBag)
Спасибо
Вы можете сделать это:
UIApplication.shared.sendAction(barButtonItem.action!, to: barButtonItem.target, from: self, for: nil)
Вы можете имитировать щелчок, выполнив:
if let target = mainView.userBarButtonItem.target, let action = mainView.userBarButtonItem.action {
_ = target.perform(action, with: mainView.userBarButtonItem)
}
Будет работать после подписки на последовательность tap.
Однако я действительно не понимаю, почему вы это нужно сделать. Надеюсь, это не для модульного тестирования ...