“Select the NoteToNote mapping. Select the attachments relationship row in the list of
relationships so that the Inspector changes to reflect the properties of the relationship
mapping.”
Should this not be:
“Select the NoteToAttachment mapping. Select the note relationship row in the list of
relationships so that the Inspector changes to reflect the properties of the relationship
mapping.”
Luckily, Core Data anticipates this problem. With the photoData attribute selected,
open the Attributes Inspector and check the Allows External Storage option.
It should say:
Luckily, Core Data anticipates this problem. With the photoData attribute selected,
open the Data Model Inspector and check the Allows External Storage option.
Note: Similar to @dynamic in Objective-C, the @NSManaged attribute informs the Swift compiler the backing store and implementation of a property will be provided at runtime instead of compile time.
The normal pattern is for a property to be backed by an instance variable in memory. A property on a managed object is different: It’s backed by the managed object context, so the source of the data is not known at compile time.
That note should go immediately after the code on p. 46. The way it is now so far removed from the code, I had no idea what @NSManaged was.