---
title: NSWindowRestoration
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nswindowrestoration
---

# NSWindowRestoration

A set of methods that restoration classes must implement to handle the recreation of windows.

## Declaration

```swift
protocol NSWindowRestoration : NSObjectProtocol
```

## Overview

Overview At launch time, the application object retrieves the restoration class and uses its restoreWindow(withIdentifier:state:completionHandler:) method to obtain a new window whose type matches the type that was preserved previously. Classes that adopt this protocol can use the provided information to create (or obtain a reference to) the window in the new application. As part of creating the window, the class should also create any related objects, such as window controllers, normally used to manage the window.

## Topics

### Handling Window Restoration

- [restoreWindow(withIdentifier:state:completionHandler:)](appkit/nswindowrestoration/restorewindow(withidentifier:state:completionhandler:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [NSDocumentController](appkit/nsdocumentcontroller.md)

## See Also

### Window Restoration

- [Restoring your app’s state with AppKit](appkit/restoring-your-app-s-state-with-appkit.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
