<!--
{
  "availability" : [
    "macCatalyst: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSStoryboardControllerCreator",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:@T@NSStoryboardControllerCreator"
  },
  "title" : "NSStoryboardControllerCreator"
}
-->

# NSStoryboardControllerCreator

A block that you use to handle the custom creation of controller objects from your storyboard file.

```
typedef id (^)(NSCoder *) NSStoryboardControllerCreator;
```

## Parameters

`coder`

The coder object containing the storyboard data to use when configuring the window controller.

## Discussion

Use your block to construct a window or view controller using a custom initialization method. Your custom method must accept an <doc://com.apple.documentation/documentation/Foundation/NSCoder> object as one of its parameters, and it may include other parameters that you need to initialize the contents of the object. The implementation of your method must call the inherited [`init(coder:)`](/documentation/AppKit/NSResponder/init(coder:)) method at some point during its execution. Not doing so is a programmer error.

---

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)