Я пытаюсь реализовать текущее поведение с текстовым полем и кнопкой: 1 - текстовое поле должно быть проверено не в реальном времени, но только после нажатия кнопки на нем должна отображаться метка ошибки для проверки ошибка 2 - если текстовое поле подтверждено, я должен показать uialertcontroller для отмены или продолжения операции.CocoaAction с RxSwift и UIAlertController
Я пробовал особенно вторую часть со следующим кодом, но он работает только в первый раз, если я отменил отмену, например, Я нажимаю другой раз, когда кнопка выглядит как отключенная .... больше не разрешается.
let action = CocoaAction {
return Observable.create {
[weak self] observer -> Disposable in
let alertController = self.getAlertController()
let ok = UIAlertAction.Action(NSLocalizedString("OK_BUTTON", comment: "OK_BUTTON"), style: .Default)
ok.rx_action = CocoaAction { _ in
return self!.viewModel!.modify(self?.addressTextFiled.rx_text)
.doOnNext({ data in
if let data = data
{
self!.showMessage(data.message)
}
})
.map { _ in Void() }
}
let cancelAction = UIAlertAction(title: NSLocalizedString("CANCEL_BUTTON", comment: "CANCEL_BUTTON"), style: .Cancel) { (_) in }
alertController.addAction(ok)
alertController.addAction(cancelAction)
self!.presentViewController(alertController, animated: true, completion: nil)
return NopDisposable.instance
}
}
confirmButton.rx_action = action
Для первого пункта есть ли у вас советы?
Спасибо, что помогли мне!
Можете ли вы дважды проверить, что 'self !.viewModel !.modify' завершается? Если он не завершен, он не освобождает действие, которое будет выполнено снова. –
Что вы имеете в виду? Если он отправляет завершенное событие? – jerrygdm