Presentar una alerta es una de las funcionalidades que se utilizan habitualmente al desarrollar aplicaciones. Con una alerta, puede informar a los usuarios sobre imposibilidades, entradas no válidas o cualquier otra cosa que requiera una alerta.
Alerta de notificación simple
El cuadro de diálogo de notificación simple se compone de un titulo, mensaje y un botón de cerrar la vista.

struct ContentView: View {
@State private var showingAlert = false
...
Button("Mostar Alerta") {
showingAlert = true
}.alert("Mensaje importante", isPresented: $showingAlert) {
Button("OK", role: .cancel) { }
}
Si se requiere añadir un mensaje

struct ContentView: View {
@State private var showingAlert = false
...
Button("Mostar Alerta") {
showingAlert = true
}
.alert(isPresented: $showingAlert) {
Alert(
title: Text("Sin conexión a internet"),
message: Text("Comprueba tu conexión y vuelve a intentarlo"),
dismissButton: .default(Text("OK")))
}
Cuadro de diálogo de confirmación
Mostrar un cuadro de diálogo de confirmación (Aceptar/Cancelar) en SwiftUI, de esa forma se mostrará una confirmación al usuario y en función de si responde Aceptar o Cancelar se realice una acción u otra.

struct ContentView: View {
@State private var showingConfirmAlert = false
...
Button("Mostar Alerta") {
showingConfirmAlert = true
}
.alert(isPresented: $showingConfirmAlert) {
Alert(
title: Text("Eliminar nota"),
message: Text("Está seguro que quiere eliminar la nota? Esa acción es irreversible"),
primaryButton: .destructive( Text("Eliminar")) {
print("deleting...")
},secondaryButton: .cancel() {
print("canceling...")
})
}
Cuadro de diálogo de acción
Si se require ofrecer al usuario un conjunto de acciones a realizar se debe usar un cuadro de acción, aparecerá una vista con la opciones a realizar.

struct ContentView: View {
@State private var showingOtherOptions = false
...
Button("Mostar opciones") {
showingOtherOptions = true
}
.confirmationDialog("Visibilidad de la nota", isPresented: $showingOtherOptions, titleVisibility: .visible) {
Button("Pública") {
print("set note public...")
}
Button("Privada") {
print("set note private...")
}
Button("Protegida con contraseña") {
print("set note with password...")
}
}