我正在尝试使用 Action / CocoaAction 库。现在的主要用途是显示 UIAlertController,当点击 UIAlertAction 按钮时,它必须调用我的 viewModel 中定义的函数(changeAddress 返回 Observable)。
我对此的理解是:
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 时,我知道出了点问题,但我不明白如何解决。
我该如何纠正?我做错了什么?