Я новичок в rx и интересуюсь вопросом: что заменит переопределение в Rx?
Для кодов, которые я прочитал о rx, кнопка настроена так:
override func viewDidLoad() {
super.viewDidLoad()
updateConversation()
self.naviAvatar.rx.tap
.debug("naviAvatar tap")
.subscribe(onNext: { _ in
print("didTapNaviAvatar")
})
.disposed(by: disposeBag)
}
и работает отлично.
Однако я сталкиваюсь с вопросом, что в подклассе я хочу отключить кнопку и не знаю, как добиться этого в rx.
В моем предыдущем коде у меня есть следующие коды:
class A: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(didTapNaviAvatar(_:)))
self.naviAvatar.addGestureRecognizer(tapRecognizer)
}
@objc func didTapNaviAvatar(_ sender: Any) {
print("didTapNaviAvatar")
}
//...
}
class B: A {
// Silent the method, do nothing.
override func didTapNaviAvatar(_ sender: Any) {}
//...
}
Мне пришла в голову мысль, что я могу перенастроить naviAvatar
в B
viewDidLoad
метод. Но что, если у меня есть количество кодов (например, 20 строк, включая сопоставление, фильтрацию, настройку) о поведении кнопки, но я просто хочу изменить только одну строку (например, просто переопределить заголовок кнопки при касании)?
Любая помощь будет оценена.