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.
@Stateprivatevar showAlert =falsevar body: someView {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.
@Stateprivatevar showAlert =falsevar body: someView {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.