<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "swift: 5.9.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftData",
  "identifier" : "/documentation/SwiftData/FetchDescriptor/propertiesToFetch",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "SwiftData"
    ],
    "preciseIdentifier" : "s:9SwiftData15FetchDescriptorV012propertiesToC0Says14PartialKeyPathCyxGGvp"
  },
  "title" : "propertiesToFetch"
}
-->

# propertiesToFetch

The specific subset of attributes to fetch if you don’t require them all.

```
var propertiesToFetch: [PartialKeyPath<T>]
```

## Discussion

If you know ahead of time that you’re going to process (or display) a subset of
a model’s attributes, use this property to provide the key paths of those
attributes. When the fetch runs, it’ll return values for only the specified key
paths, which may result in faster and more efficient fetches. However, if you
subsequently access a nonfetched attribute, you’ll incur the additional
overhead of fetching the corresponding value from the persistent storage.

> Note: An empty array causes the fetch to include all attributes, not none.

The default value is an empty array.

---

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)