我正在嘗試使用Action/CocoaAction庫。 現在的主要用法是顯示一個UIAlertController,當一個UIAlertAction按鈕被點擊時,它必須調用在我的viewModel(changeAddress返回一個Observable)中定義的函數。CocoaAction/Action with UIAlertController
我對此的理解是:
let ac = CocoaAction(workFactory: {[unowned self] _ in
self.viewModel!.requestChangeAddress()
.subscribeNext({ [unowned self] data in
if let response = data?.result
{
self.showResultOperation(response)
}
})
.addDisposableTo(self.disposeBag)
return .empty()
})
let OKAction = UIAlertAction.Action("OK", style: .Default)
OKAction.rx_action = ac
不過遺憾的是它不工作。 workFactory閉包被正確調用,但訂閱不生效。當我返回.empty時,我知道某些錯誤,但我無法理解如何解決。
我該如何解決這個問題?我做錯了什麼?
謝謝。
謝謝,我試着這樣做,但在第一行編譯器給出此錯誤:「無法將類型'(_) - > Observable
'的值轉換爲'_ - > Observable'的預期參數'」 – jerrygdm, 對!我會更新我的答案。 –
謝謝......幾乎都很好。我有一個與此相關的問題...點擊OK或取消後在alertContoller該按鈕看起來像禁用,沒有更多的觸摸射擊。我該如何解決這個問題? – jerrygdm