<!--
{
  "availability" : [
    "iOS: 3.0.0 -",
    "iPadOS: 3.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.5.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreData",
  "identifier" : "/documentation/CoreData/NSFetchRequest/returnsObjectsAsFaults",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Data"
    ],
    "preciseIdentifier" : "c:objc(cs)NSFetchRequest(py)returnsObjectsAsFaults"
  },
  "title" : "returnsObjectsAsFaults"
}
-->

# returnsObjectsAsFaults

A Boolean value that indicates whether the objects resulting from a fetch request are faults.

```
var returnsObjectsAsFaults: Bool { get set }
```

## Discussion

This value is <doc://com.apple.documentation/documentation/Swift/true> if the objects resulting from a fetch using the [`NSFetchRequest`](/documentation/CoreData/NSFetchRequest) are faults; otherwise, it is <doc://com.apple.documentation/documentation/Swift/false>. The default value is <doc://com.apple.documentation/documentation/Swift/true>. This setting is not used if the result type (see [`resultType`](/documentation/CoreData/NSFetchRequest/resultType)) is `NSManagedObjectIDResultType`, as object IDs do not have property values. You can set [`returnsObjectsAsFaults`](/documentation/CoreData/NSFetchRequest/returnsObjectsAsFaults) to <doc://com.apple.documentation/documentation/Swift/false> to gain a performance benefit if you know you will need to access the property values from the returned objects.

When you execute a fetch, by default [`returnsObjectsAsFaults`](/documentation/CoreData/NSFetchRequest/returnsObjectsAsFaults) is <doc://com.apple.documentation/documentation/Swift/true>; Core Data fetches the object data for the matching records, fills the row cache with the information, and returns managed object as faults. These faults are managed objects, but all of their property data resides in the row cache until the fault is fired. When the fault is fired, Core Data retrieves the data from the row cache. Although the overhead for this operation is small, for large datasets it may not be trivial. If you *need* to access the property values from the returned objects (for example, if you iterate over all the objects to calculate the average value of a particular attribute), then it is more efficient to set [`returnsObjectsAsFaults`](/documentation/CoreData/NSFetchRequest/returnsObjectsAsFaults) to <doc://com.apple.documentation/documentation/Swift/false> to avoid the additional overhead.

---

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)