NSManagedObjectID
Essence
NSManagedObjectID is the unique identifier of a managed object within a persistent store. Unlike the NSManagedObject itself, it is thread-safe (Sendable in Swift 6), which is why it's what you pass between contexts and queues: an object must not be touched outside its context's queue, but its ID can be.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep