---
title: NSUserDefaultsController
framework: appkit
role: symbol
role_heading: Class
path: appkit/nsuserdefaultscontroller
---

# NSUserDefaultsController

A controller that accesses user preference information for your app from the user’s defaults database.

## Declaration

```swift
class NSUserDefaultsController
```

## Overview

Overview NSUserDefaultsController is a Cocoa bindings–compatible controller class. Properties of the shared instance of this class can be bound to user interface elements to access and modify values stored in UserDefaults.

## Topics

### Obtaining the shared instance

- [shared](appkit/nsuserdefaultscontroller/shared.md)

### Initializing a user defaults controller

- [init(defaults:initialValues:)](appkit/nsuserdefaultscontroller/init(defaults:initialvalues:).md)
- [init(coder:)](appkit/nsuserdefaultscontroller/init(coder:).md)

### Managing user defaults values

- [defaults](appkit/nsuserdefaultscontroller/defaults.md)
- [initialValues](appkit/nsuserdefaultscontroller/initialvalues.md)
- [hasUnappliedChanges](appkit/nsuserdefaultscontroller/hasunappliedchanges.md)
- [appliesImmediately](appkit/nsuserdefaultscontroller/appliesimmediately.md)
- [values](appkit/nsuserdefaultscontroller/values.md)
- [revert(_:)](appkit/nsuserdefaultscontroller/revert(_:).md)
- [revertToInitialValues(_:)](appkit/nsuserdefaultscontroller/reverttoinitialvalues(_:).md)
- [save(_:)](appkit/nsuserdefaultscontroller/save(_:).md)

## Relationships

### Inherits From

- [NSController](appkit/nscontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSEditor](appkit/nseditor.md)
- [NSEditorRegistration](appkit/nseditorregistration.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### User Preferences

- [NSUbiquitousKeyValueStore](foundation/nsubiquitouskeyvaluestore.md)
