Ich versuche Action/CocoaAction-Bibliothek zu verwenden. Die primäre Verwendung für jetzt ist die Anzeige eines UIAlertControllers und wenn eine UIAlertAction-Schaltfläche angeklickt wird, muss sie eine Funktion aufrufen, die in meinem viewModel definiert ist (changeAddress, die ein Observable zurückgibt).CocoaAction/Action mit UIAlertController
Mein Verständnis dafür wäre:
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
Aber leider funktioniert es nicht. Die Schließung von workFactory wird korrekt aufgerufen, die Subskription wird jedoch nicht wirksam. Ich weiß, dass etwas nicht in Ordnung ist, wenn ich zurückkomme, aber ich weiß nicht, wie ich es lösen soll.
Wie kann ich das korrigieren? Was mache ich falsch?
Danke.
Danke, versuchte dabei ich so aber in der ersten Zeile gibt die complier diese Fehlermeldung: „Kann nicht Wert vom Typ konvertieren‚(_) -> beobachtbare
‘zu erwarten Argumente vom Typ‚_ -> beobachtbare <_>‘“ – jerrygdmAh , Recht! Ich werde meine Antwort aktualisieren. –
Danke ... fast alles gut. Ich habe ein Problem damit ... nach dem Tippen auf OK oder Abbrechen in der WarnmeldungContoller sieht die Schaltfläche wie deaktiviert aus, keine Berührung mehr feuern. Wie kann ich das Problem lösen? – jerrygdm