1
我對RxSwift相對較新,並試圖在開發時實施最佳實踐。RxSwfit:訂閱視圖控制器視圖模型是不好的做法嗎?
在我的家庭視圖控制器上,我必須提供一個自定義警報視圖控制器,用戶在文本框中輸入文本並點擊確認。假設文本是有效的,警報將被解除,並推送新的視圖控制器。
爲避免使用回調或委託,我提供了警報視圖控制器,然後我的主視圖控制器訂閱了警報視圖控制器的文本框和確認按鈕。
訂閱不同的視圖控制器是不好的做法嗎?
僞:
let alert = viewModel.textFieldAlert()
present(alert)
alertSubscriptions(alert)
alertSubscriptions:
alert.textField.rx.text.subscribe(onNext: { [weak self] text in
self?.viewModel.numberOfItems.value = text ?? ""
}).addDisposableTo(disposeBag)
alert.confirmButton.rx.tap.subscribe(onNext: { [weak self] _ in
guard self != nil else { return }
if !self!.viewModel.validText { return }
alert.dismiss()
self!.alertConfirmed()
}).addDisposableTo(disposeBag)
我已經測試此代碼和它的作品沒有任何問題。