<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/ObservedObject/wrappedValue",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI14ObservedObjectV12wrappedValuexvp"
  },
  "title" : "wrappedValue"
}
-->

# wrappedValue

The underlying value that the observed object references.

```
@MainActor @preconcurrency var wrappedValue: ObjectType
```

## Discussion

The wrapped value property provides primary access to the observed
object’s data. However, you don’t typically access it by name. Instead,
SwiftUI accesses this property for you when you refer to the variable
that you create with the `@ObservedObject` attribute.

```
struct MySubView: View {
    @ObservedObject var model: DataModel

    var body: some View {
        Text(model.name) // Reads name from model's wrapped value.
    }
}
```

When you change a wrapped value, you can access the new value
immediately. However, SwiftUI updates views that display the value
asynchronously, so the interface might not update immediately.

---

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)