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.