A modal dialog or sheet attached to a document window.


@interface NSAlert : NSObject


The methods of the NSAlert class allow you to specify alert level, alert text, button titles, and a custom icon should you require it. The class also lets your alerts display a help button and provides ways for apps to offer help specific to an alert.

To display an alert as a sheet, call the beginSheetModalForWindow:completionHandler: method; to display one as an app-modal dialog, use the runModal method.

By design, an NSAlert object is intended for a single alert—that is, an alert with a unique combination of title, buttons, and so on—that is displayed upon a particular condition. You should create an NSAlert object for each alert dialog, creating it only when you need to display an alert, and release it when you are done. If you have a particular alert dialog that you need to show repeatedly, you can retain and reuse an instance of NSAlert for this dialog.

After creating an alert using one of the alert creation methods, you can customize it further prior to displaying it by customizing its attributes. See Instance Attributes

Instance Attributes

NSAlert objects have the following attributes:

  • Type An alert’s type helps convey the importance or gravity of its message to the user. Specified with the alertStyle property.

  • Message text The main message of the alert. Specified with messageText.

  • Informative text Additional information about the alert. Specified with informativeText.

  • Icon An optional, custom icon to display in the alert, which is used instead of the default app icon. Specified with icon.

  • Help Alerts can let the user get help about them. Use helpAnchor and showsHelp.

  • Response buttons By default an alert has one response button: the OK button. You can add more response buttons using the addButtonWithTitle: method.

  • Suppression checkbox A suppression checkbox allows the user to suppress the display of a particular alert in subsequent occurrences of the event that triggers it. Use showsSuppressionButton.

  • Accessory view An accessory view lets you add additional information to an alert; for example, a text field with contact information. Use accessoryView, layout.

Subclassing Notes

The NSAlert class is not designed for subclassing.


Creating Alerts

- init

Returns an initialized alert.

+ alertWithError:

Returns an alert initialized from information in an error object.

+ alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:

Creates an alert compatible with alerts created using the NSRunAlertPanel function for display as a warning-style alert.


Configuring Alerts

- layout

Specifies that the alert must do immediate layout instead of lazily just before display.


Indicates the alert’s severity level.


The alert’s accessory view.


Specifies whether the alert has a help button.


The alert’s HTML help anchor.


The alert’s delegate.

Displaying Alerts

- runModal

Runs the alert as an app-modal dialog and returns the constant that identifies the button clicked.

- beginSheetModalForWindow:completionHandler:

Runs the alert modally as a sheet attached to the specified window.

- beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:

Runs the alert modally as an alert sheet attached to a specified window.


The alert’s suppression checkbox.


Specifies whether the alert includes a suppression checkbox, which you can employ to allow a user to opt out of seeing the alert again.

Accessing Alert Text


The alert’s informative text.


The alert’s message text or title.

Accessing a Custom Alert Icon


The custom icon displayed in the alert.

Accessing Alert Response Buttons


The array of response buttons for the alert.

- addButtonWithTitle:

Adds a button with a given title to the alert.

Getting Alert Windows


The app-modal panel or document-modal sheet that corresponds to the alert.



The NSAlert class defines the alert styles used by the alertStyle property.


A set of button return values for modal dialogs.


Inherits From

See Also



A set of optional methods implemented by the delegate of an NSAlert object to respond to a user's request for help.