<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.0.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/UserDefaults/standard",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "c:objc(cs)NSUserDefaults(cpy)standardUserDefaults"
  },
  "title" : "standard"
}
-->

# standard

The shared defaults object for the current app.

```
class var standard: UserDefaults { get }
```

## Return Value

The shared defaults object for the app.

## Discussion

Each app maintains a single, shared defaults object for you to use in your code. The
first time your app retrieves the value of this property, it creates the shared object and caches
the result. Subsequent retrieval attempts return the cached object.

The shared object retrieves settings from all of the standard domains. If you
add a domain using the [`addSuite(named:)`](/documentation/Foundation/UserDefaults/addSuite(named:)) method, the object retrieves values from that
domain in addition to the standard ones. Custom domains remain in the search list until
you remove them or the app exits. When you write settings using the shared
object, it writes them to the current app’s settings.

---

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)