---
title: "Preview(_:traits:arguments:body:)"
framework: AppKit
role: symbol
role_heading: Macro
platforms: [macOS 27.0+]
path: "appkit/preview(_:traits:arguments:body:)-7h191"
---

# Preview(_:traits:arguments:body:)

Creates a group of previews of an NSViewController.

## Declaration

```swift
@freestanding(declaration) macro Preview<T>(_ name: String? = nil, traits: PreviewTrait<Preview.ViewTraits>..., arguments: [T], @PreviewBodyBuilder<NSViewController> body: @escaping @MainActor (T) -> NSViewController)
```

## Parameters

- `name`: An optional display name for the preview.
- `traits`: An optional list of traits to customize the preview.
- `arguments`: An array of arguments to pass into body.
- `body`: A closure that maps an argument to an NSViewController to preview.

## See Also

### Macros

- [NSIMAGE_UNAVAILABLE_MACCATALYST](appkit/nsimage_unavailable_maccatalyst.md)
- [NS_USER_ACTIVITY_SUPPORTED](appkit/ns_user_activity_supported.md)
- [Preview(_:traits:body:)](appkit/preview(_:traits:body:)-55ljx.md)
- [Preview(_:traits:body:)](appkit/preview(_:traits:body:)-7pfjp.md)
- [Preview(_:traits:arguments:body:)](appkit/preview(_:traits:arguments:body:)-5hzef.md)
