<!--
{
  "availability" : [
    "macOS: 10.7.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSResponder/restoreState(with:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSResponder(im)restoreStateWithCoder:"
  },
  "title" : "restoreState(with:)"
}
-->

# restoreState(with:)

Restores the interface-related state of the responder.

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

## Parameters

`coder`

The coder object to use to restore the responder’s interface-related state.

## Discussion

This method is part of the window restoration system and is called at launch time to restore the visual state of your responder object. The default implementation does nothing but specific subclasses (such as [`NSView`](/documentation/AppKit/NSView) and [`NSWindow`](/documentation/AppKit/NSWindow)) override it and save important state information. Therefore, if you override this method, you should always call `super` at some point in your implementation.

Subclasses can override this method and use it to restore any information that was saved in the [`encodeRestorableState(with:)`](/documentation/AppKit/NSResponder/encodeRestorableState(with:)) method. You can also use this method to reconfigure the responder to its 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 <doc://com.apple.documentation/documentation/Foundation/encoding-and-decoding-custom-types>.

---

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)