Я пытаюсь использовать библиотеку Action/CocoaAction. Первичное использование на данный момент - показать UIAlertController, а при нажатии кнопки UIAlertAction он должен вызвать функцию, определенную в моей модели viewModel (changeAddress, которая возвращает Observable).CocoaAction/Действие с 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