есть ли в любом случае ждать, пока пользователь нажмет кнопку, которая отключит alertController в swift 3, используя DispatchQueue или что-то еще?Возможно ли заблокировать выполнение моего кода до тех пор, пока UIAlertController не будет уволен?
Q
Возможно ли заблокировать выполнение моего кода до тех пор, пока UIAlertController не будет уволен?
3
A
ответ
1
Вы имеете в виду что-то вроде этого?
alertController.displayAndWaitUntilDismissed()
// This line is only reached after the alert controller is dismissed
print("Alert controller dismissed.")
Теоретически, да, вы можете использовать семафор отправки для блокировки до тех пор, пока предупреждение не будет отклонено. Но это плохая идея - я даже не могу думать о сценарии, где это было бы приемлемо. Просто согласитесь, что вам необходимо обрабатывать его асинхронно, выполнив требуемый код в действии контроллера предупреждений.
0
Просто переместите весь код, который вы хотите выполнить после того, как предупреждение будет отклонено отдельным методом. Когда вы добавляете UIAlertActions
, сделайте так, чтобы этот метод вызывал все действия: handler
. Таким образом, любая кнопка, которую пользователь нажимает, ваш код всегда будет выполнен!
Смежные вопросы
- 1. Заблокировать до тех пор, пока элемент не будет доступен
- 2. Как заблокировать до тех пор, пока не будет выполнено условие
- 3. Выполнение оценки До тех пор, пока не будет 0
- 4. C, возможно ли заблокировать процесс до тех пор, пока труба не будет открыта снова?
- 5. Выполнение действия до тех пор, пока не будет выполнено условие
- 6. Выполнение программы до тех пор, пока не будет нажата кнопка
- 7. python Popen: Как заблокировать выполнение команды grep до тех пор, пока содержимое grep не будет готово?
- 8. Python - Выполнение кода до тех пор, пока выполняется подпроцесс
- 9. Заблокировать каталог и сделать еще часть кода до тех пор, пока каталог не будет освобожден потоком
- 10. Как спать до тех пор, пока не будет выполнено условие
- 11. Приостановить программу до тех пор, пока не будет нажата клавиша
- 12. Намерение камеры не нарушает выполнение кода до тех пор, пока не будет получен снимок
- 13. Продолжайте работать до тех пор, пока мышь не будет отпущена.
- 14. q.js: могу ли я остановить выполнение функции до тех пор, пока не будет выполнено обещание?
- 15. Повторяющийся контур до тех пор, пока не будет нажат ввод
- 16. Выполнение задержки до тех пор, пока пользователь не отправил ввод
- 17. любым способом отсрочить выполнение кода до тех пор, пока страница не будет открыта
- 18. Повторить до тех пор, пока не будет RuntimeWarning
- 19. Не нажимайте до тех пор, пока не будет отпущена кнопка
- 20. Стоп setInterval до тех пор, пока действие не будет выполнено?
- 21. Python: как остановить выполнение функции до тех пор, пока не будет завершено выполнение двух потоков.
- 22. Предотвратить возврат до тех пор, пока не будет выполнено условие
- 23. Остановить выполнение программы до тех пор, пока не завершатся потоки
- 24. Скрытие кнопки до тех пор, пока изображение не будет выбрано.
- 25. Голанг до тех пор, пока не будет нажата клавиша
- 26. Возможно ли, чтобы функция не возвращалась до тех пор, пока не будет выполнено условие?
- 27. Запрос блока Mysql до тех пор, пока не будет обновлен
- 28. wget force retry до тех пор, пока не будет соединение
- 29. Реагирующие события буферов до тех пор, пока не будет запрошен
- 30. Java wait до тех пор, пока не будет установлена переменная
Взгляните на http://stackoverflow.com/questions/37801436/how-do-i-write-dispatch-after-gcd-in-swift-3 –
Да, я знаю об этом, но я имею в виду, после того, как я представил alertcontroller, есть ли все равно ждать (чтобы мой код ничего не выполнял) до тех пор, пока пользователь не отключит предупреждение? – Anthony
Если вы хотите остановить выполнение кода до оповещения пользователя об увольнении, добавьте свой код выполнения в обработчик обработчика 'UIAlertAction'. –