---
title: "restoreState(with:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsdocument/restorestate(with:)"
---

# restoreState(with:)

Restores the interface-related state of the document.

## Declaration

```swift
func restoreState(with coder: NSCoder)
```

## Parameters

- `coder`: The coder object to use to restore the document’s interface-related state.

## Discussion

Discussion This method is part of the window restoration system and is called at launch time to restore the window-related state of your document object. The default implementation restores some basic information about the document. If you override this method, you must call super at some point in your implementation. Subclasses can override this method and use it to restore the document-related information that was saved in the encodeRestorableState(with:) method. You can also use this method to reconfigure the document (or its associated window controller and window) to their previous appearance. note: If the user’s computer is configured to close all windows when an app quits, the system automatically removes any preserved state as part of that process. As a result, the system doesn’t call restoreState(with:) the next time your app launches. For information about using a coder object to read data from an archive, see Encoding and Decoding Custom Types.

## See Also

### Handling Window Restoration

- [allowedClasses(forRestorableStateKeyPath:)](appkit/nsdocument/allowedclasses(forrestorablestatekeypath:).md)
- [encodeRestorableState(with:)](appkit/nsdocument/encoderestorablestate(with:).md)
- [restorableStateKeyPaths](appkit/nsdocument/restorablestatekeypaths.md)
- [invalidateRestorableState()](appkit/nsdocument/invalidaterestorablestate().md)
- [restoreWindow(withIdentifier:state:completionHandler:)](appkit/nsdocument/restorewindow(withidentifier:state:completionhandler:).md)
