---
title: "init(_:traits:body:)"
framework: developertoolssupport
role: symbol
role_heading: Initializer
path: "developertoolssupport/preview/init(_:traits:body:)-2viaf"
---

# init(_:traits:body:)

Creates a preview of an NSViewController.

## Declaration

```swift
@MainActor init(_ name: String? = nil, traits: PreviewTrait<Preview.ViewTraits>..., body: @escaping @MainActor () -> NSViewController)
```

## Discussion

Discussion The #Preview macro expands into a declaration that calls this initializer. To create a preview that appears in the canvas, you must use the macro, not call this initializer directly.

## See Also

### Creating an AppKit preview

- [init(_:traits:body:)](developertoolssupport/preview/init(_:traits:body:)-158mk.md)
