<!--
{
  "documentType" : "article",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/macros",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Macros"
}
-->

# Macros

Macros for use with multiple classes.

## Topics

### Macros

[`#define APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST`](/documentation/AppKit/APPKIT_API_UNAVAILABLE_BEGIN_MACCATALYST)

[`#define APPKIT_EXTERN`](/documentation/AppKit/APPKIT_EXTERN)

[`#define APPKIT_FINAL`](/documentation/AppKit/APPKIT_FINAL)

[`#define APPKIT_IVAR`](/documentation/AppKit/APPKIT_IVAR)

[`#define APPKIT_PRIVATE`](/documentation/AppKit/APPKIT_PRIVATE)

[`#define APPKIT_PRIVATE_EXTERN`](/documentation/AppKit/APPKIT_PRIVATE_EXTERN)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_0`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_0)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6)

[`#define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7`](/documentation/AppKit/AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7)

[`#define IBSegueAction`](/documentation/AppKit/IBSegueAction)

[`#define NSDictionaryOfVariableBindings(...)`](/documentation/AppKit/NSDictionaryOfVariableBindings)

Creates a dictionary wherein the keys are string representations of the corresponding values’ variable names.

[`var NSIMAGE_UNAVAILABLE_MACCATALYST: Int32`](/documentation/AppKit/NSIMAGE_UNAVAILABLE_MACCATALYST)

[`#define NSImageRepRegistryChangedNotification`](/documentation/AppKit/NSImageRepRegistryChangedNotification)

Posted whenever the image representation class registry changes.

[`#define NSLAYOUTANCHOR_EXTERN`](/documentation/AppKit/NSLAYOUTANCHOR_EXTERN)

[`#define NSLAYOUTCONSTRAINT_EXTERN`](/documentation/AppKit/NSLAYOUTCONSTRAINT_EXTERN)

[`#define NS_OPENGL_CLASS_DEPRECATED(message, minVers, maxVers)`](/documentation/AppKit/NS_OPENGL_CLASS_DEPRECATED)

[`#define NS_OPENGL_DEPRECATED(minVers, maxVers)`](/documentation/AppKit/NS_OPENGL_DEPRECATED)

[`#define NS_OPENGL_ENUM_DEPRECATED(minVers, maxVers)`](/documentation/AppKit/NS_OPENGL_ENUM_DEPRECATED)

[`var NS_USER_ACTIVITY_SUPPORTED: Int32`](/documentation/AppKit/NS_USER_ACTIVITY_SUPPORTED)

[`macro Preview(String?, traits: PreviewTrait<Preview.ViewTraits>..., body: () -> NSViewController)`](/documentation/AppKit/Preview(_:traits:body:)-55ljx)

Preview an NSViewController.

[`macro Preview(String?, traits: PreviewTrait<Preview.ViewTraits>..., body: () -> NSView)`](/documentation/AppKit/Preview(_:traits:body:)-7pfjp)

Preview an NSView.

[`macro Preview<T>(String?, traits: PreviewTrait<Preview.ViewTraits>..., arguments: [T], body: (T) -> NSView)`](/documentation/AppKit/Preview(_:traits:arguments:body:)-5hzef)

Creates a group of previews of an NSView.

[`macro Preview<T>(String?, traits: PreviewTrait<Preview.ViewTraits>..., arguments: [T], body: (T) -> NSViewController)`](/documentation/AppKit/Preview(_:traits:arguments:body:)-7h191)

Creates a group of previews of an NSViewController.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)