Вот типичное предупреждение, которое вы видите в каждой базе Swift Code, см. . < /p>
Вы можете использовать его типичным «водопадом»: < /p>
simple(alert: "Let's proceed..") {
await comms.sendInfo()
simple(alert: "Successful! Next step?") {
await comms.load()
simple(alert: "Ready? Calculate?") {
ai.process()
simple(alert: "Create diagram?!") {
await paint.stuff()
}
}
}
}
< /code>
Конечно, что вы хотите в этом столетии .. < /p>
await simple(alert: "Let's proceed..")
await comms.sendInfo()
await simple(alert: "Successful! Next step?")
await comms.load()
await simple(alert: "Ready? Calculate?")
ai.process()
await simple(alert: "Create diagram?!") {
await paint.stuff()
< /code>
Следовательно, что -то вроде, < /p>
extension UIViewController {
///Async trivial alert.
func simple(alert: String) async {
let alert = UIAlertController(title: "", message: alert, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Understood", style: .default) { _ in
await withCheckedContinuation { inct in
alert.dismiss(animated: false) {
inct.resume()
}
}
})
await withCheckedContinuation { ct in
present(alert, animated: false) {
ct.resume()
}
}
}
}
< /code>
Однако эта попытка приводит к -< /p>
Invalid conversion from 'async' function of type '(UIAlertAction)
async -> Void' to synchronous function type '(UIAlertAction) -> Void'
< /code>
Я не могу понять, как сделать это встроенным в качестве одного расширения на uiviewcontroller < /code>. < /p>
Есть ли способ? /> Типичное «старомодное» синхронизационное оповещение: < /p>
///Trivial alerts, etc.
extension UIViewController {
///Trivial alert, with completion if you need it.
func simple(alert: String, completionOnMain: (()->())? = nil) {
let alert = UIAlertController(title: "", message: alert, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in
DispatchQueue.main.async { completionOnMain?() }
})
present(alert, animated: false, completion: nil)
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... lert-contr
Я не могу понять, как расширить контроллер представления с помощью асинхронного контроллера ⇐ IOS
Программируем под IOS
1749300443
Anonymous
Вот типичное предупреждение, которое вы видите в каждой базе Swift Code, см. . < /p>
Вы можете использовать его типичным «водопадом»: < /p>
simple(alert: "Let's proceed..") {
await comms.sendInfo()
simple(alert: "Successful! Next step?") {
await comms.load()
simple(alert: "Ready? Calculate?") {
ai.process()
simple(alert: "Create diagram?!") {
await paint.stuff()
}
}
}
}
< /code>
Конечно, что вы хотите в этом столетии .. < /p>
await simple(alert: "Let's proceed..")
await comms.sendInfo()
await simple(alert: "Successful! Next step?")
await comms.load()
await simple(alert: "Ready? Calculate?")
ai.process()
await simple(alert: "Create diagram?!") {
await paint.stuff()
< /code>
Следовательно, что -то вроде, < /p>
extension UIViewController {
///Async trivial alert.
func simple(alert: String) async {
let alert = UIAlertController(title: "", message: alert, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Understood", style: .default) { _ in
await withCheckedContinuation { inct in
alert.dismiss(animated: false) {
inct.resume()
}
}
})
await withCheckedContinuation { ct in
present(alert, animated: false) {
ct.resume()
}
}
}
}
< /code>
Однако эта попытка приводит к -< /p>
Invalid conversion from 'async' function of type '(UIAlertAction)
async -> Void' to synchronous function type '(UIAlertAction) -> Void'
< /code>
Я не могу понять, как сделать это встроенным в качестве одного расширения на uiviewcontroller < /code>. < /p>
Есть ли способ? /> Типичное «старомодное» синхронизационное оповещение: < /p>
///Trivial alerts, etc.
extension UIViewController {
///Trivial alert, with completion if you need it.
func simple(alert: String, completionOnMain: (()->())? = nil) {
let alert = UIAlertController(title: "", message: alert, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in
DispatchQueue.main.async { completionOnMain?() }
})
present(alert, animated: false, completion: nil)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79656555/i-cant-quite-work-out-how-to-extend-a-view-controller-with-an-async-alert-contr[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия