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
.