私はAction/CocoaActionライブラリを使用しようとしています。 今の主な使い方はUIAlertControllerを表示することです.UIAlertActionボタンをタップすると、私のviewModel(Observableを返すchangeAddress)で定義された関数を呼び出さなければなりません。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クロージャは正しく呼び出されますが、サブスクリプションは有効になりません。私が帰って何かが間違っていることが分かっているが、私は解決する方法を理解できない。
これを修正するにはどうすればよいですか?私は間違っているの?
ありがとうございました。
ありがとうございましたが、最初の行でコンパイラがこのエラーを表示します: "タイプ '(_) - >オブザーバブル
'を '_ - >オブザーバブルタイプの予想される引数に変換できません" – jerrygdmAh 、 右!私は私の答えを更新します。 –
ありがとう...ほとんどすべての罰金。私はこれに関連する問題があります... okをタップした後、またはalertContollerでキャンセルした後、ボタンは無効になっているように見えます。どうすれば問題を解決できますか? – jerrygdm