In the description for setPropertiesToFetch, you really need to say “This value is only used if resultType is set to NSDictionaryResultType.” as the header file instructs. I just lost an hour thinking it applied to managed object result types.

From the iOS documentation for setPropertiesToFetch: in NSFetchRequest.