The Core Data documentation says that objects may fault to save memory if needed. What happens if you have an object that has a property that is not a managed property?
For example, say you have a Department class, that is a subclass of NSManagedObject. It has a location iVar + accessors. The location property is not an attribute of Department; it is not managed and never persisted.
If you have an array of Department objects, or an Employee object with a to-one relationship to Department, is it possible for the Department to ever fault? If you set the Department.location, can you be sure that the location will always be there, or is it possible that the Department will fault, and then you will have lost the value stored in location?