---
title: Alert
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/alert
---

# Alert

A representation of an alert presentation.

## Declaration

```swift
struct Alert
```

## Overview

Overview Use an alert when you want the user to act in response to the state of the app or system. If you want the user to make a choice in response to their action, use an ActionSheet instead. You show an alert by using the alert(isPresented:content:) view modifier to create an alert, which then appears whenever the bound isPresented value is true. The content closure you provide to this modifer produces a customized instance of the Alert type. In the following example, a button presents a simple alert when tapped, by updating a local showAlert property that binds to the alert. @State private var showAlert = false var body: some View {     Button("Tap to show alert") {         showAlert = true     }     .alert(isPresented: $showAlert) {         Alert(             title: Text("Current Location Not Available"),             message: Text("Your current location can’t be " +                             "determined at this time.")         )     } }

To customize the alert, add instances of the Alert.Button type, which provides standardized buttons for common tasks like canceling and performing destructive actions. The following example uses two buttons: a default button labeled “Try Again” that calls a saveWorkoutData method, and a “Delete” button that calls a destructive deleteWorkoutData method. @State private var showAlert = false var body: some View {     Button("Tap to show alert") {         showAlert = true     }     .alert(isPresented: $showAlert) {         Alert(             title: Text("Unable to Save Workout Data"),             message: Text("The connection to the server was lost."),             primaryButton: .default(                 Text("Try Again"),                 action: saveWorkoutData             ),             secondaryButton: .destructive(                 Text("Delete"),                 action: deleteWorkoutData             )         )     } }

The alert handles its own dismissal when the user taps one of the buttons in the alert, by setting the bound isPresented value back to false.

## Topics

### Creating an alert

- [init(title:message:dismissButton:)](swiftui/alert/init(title:message:dismissbutton:).md)
- [init(title:message:primaryButton:secondaryButton:)](swiftui/alert/init(title:message:primarybutton:secondarybutton:).md)
- [sideBySideButtons(title:message:primaryButton:secondaryButton:)](swiftui/alert/sidebysidebuttons(title:message:primarybutton:secondarybutton:).md)

### Specifying the button type

- [Alert.Button](swiftui/alert/button.md)

## See Also

### Deprecated modal presentations

- [ActionSheet](swiftui/actionsheet.md)
