MOBILEPROGLIB Telegram 6267
🔴 Как правильно показывать Alerts в SwiftUI

В SwiftUI alert — это способ показать критически важную информацию или запросить решение у пользователя.

Используй их только для действительно важных случаев: ошибок, подтверждений (особенно разрушительных действий), запросов разрешений.

🧠 Основы

Самый простой способ — через isPresented (булево значение):

@State var isPresented = false

VStack {
// UI
}
.alert("Alert Title", isPresented: $isPresented) {
Button("OK") { /* action */ }
Button("Cancel") { }
}


Алёрт появляется, когда isPresented = true, и автоматически закрывается после действия пользователя.

💬 Дополнительное сообщение

Можно добавить поясняющий текст:

.alert("Alert Title", isPresented: $isPresented) {
Button("OK") { }
} message: {
Text("Подробнее о проблеме")
}


Это помогает пользователю понять контекст и принять осознанное решение.

📦 Работа с данными

Для подтверждения действий над конкретными объектами есть параметр presenting:

.alert("Delete Document", isPresented: $isPresented, presenting: document) { document in
Button("Delete", role: .destructive) { delete(document) }
Button("Cancel", role: .cancel) { }
} message: { document in
Text("Удалить '\(document.name)'? Это действие нельзя отменить.")
}


Так SwiftUI сохраняет корректные данные на время отображения диалога.

❗️ Работа с ошибками

Если твои ошибки реализуют LocalizedError, SwiftUI умеет красиво показывать их в алёртах:

.alert(isPresented: $isPresented, error: error) {
Button("Retry") { }
Button("Cancel") { }
} message: { error in
Text(error.recoverySuggestion ?? "Попробуй позже.")
}


Рекомендации

Используй краткие заголовки и ясные действия.
Помечай кнопки ролями: .cancel, .destructive.
Не перегружай интерфейс — если это не критично, лучше показать баннер или inline-сообщение.

💬 А как вы показываете ошибки пользователю — через alert, banner или sheet?

🐸 Библиотека мобильного разработчика

#АрхитектурныйКод #MiddlePath #iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
2



tgoop.com/mobileproglib/6267
Create:
Last Update:

🔴 Как правильно показывать Alerts в SwiftUI

В SwiftUI alert — это способ показать критически важную информацию или запросить решение у пользователя.

Используй их только для действительно важных случаев: ошибок, подтверждений (особенно разрушительных действий), запросов разрешений.

🧠 Основы

Самый простой способ — через isPresented (булево значение):

@State var isPresented = false

VStack {
// UI
}
.alert("Alert Title", isPresented: $isPresented) {
Button("OK") { /* action */ }
Button("Cancel") { }
}


Алёрт появляется, когда isPresented = true, и автоматически закрывается после действия пользователя.

💬 Дополнительное сообщение

Можно добавить поясняющий текст:

.alert("Alert Title", isPresented: $isPresented) {
Button("OK") { }
} message: {
Text("Подробнее о проблеме")
}


Это помогает пользователю понять контекст и принять осознанное решение.

📦 Работа с данными

Для подтверждения действий над конкретными объектами есть параметр presenting:

.alert("Delete Document", isPresented: $isPresented, presenting: document) { document in
Button("Delete", role: .destructive) { delete(document) }
Button("Cancel", role: .cancel) { }
} message: { document in
Text("Удалить '\(document.name)'? Это действие нельзя отменить.")
}


Так SwiftUI сохраняет корректные данные на время отображения диалога.

❗️ Работа с ошибками

Если твои ошибки реализуют LocalizedError, SwiftUI умеет красиво показывать их в алёртах:

.alert(isPresented: $isPresented, error: error) {
Button("Retry") { }
Button("Cancel") { }
} message: { error in
Text(error.recoverySuggestion ?? "Попробуй позже.")
}


Рекомендации

Используй краткие заголовки и ясные действия.
Помечай кнопки ролями: .cancel, .destructive.
Не перегружай интерфейс — если это не критично, лучше показать баннер или inline-сообщение.

💬 А как вы показываете ошибки пользователю — через alert, banner или sheet?

🐸 Библиотека мобильного разработчика

#АрхитектурныйКод #MiddlePath #iOS

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck


Share with your friend now:
tgoop.com/mobileproglib/6267

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. Unlimited number of subscribers per channel
from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM American