In an application, a managed object context (represented by an instance of NSManagedObjectContext) is a temporary “scratchpad” for a (supposedly) linked collection of objects. These objects represent a view of one or more persistent stores that is internally consistent.
Multiple copies of an item can exist in distinct contexts, but a single-managed object instance exists in just one.
The following are some of the most important functions of the managed object context:
- Life-cycle management: Here, the context provides validation, inverse relationship handling, and undo/redo.
- Notifications: It refers to context posts’ notifications at various points that can be optionally monitored elsewhere in our application.
- Concurrency: Here, the Core Data uses thread (or serialized queue) confinement to protect managed objects and managed object contexts.