Контекст управляемого объекта

Контекст управляемого объекта представляет пространство отдельного объекта или временную память, в Базовом Применении данных. Контекст управляемого объекта является экземпляром NSManagedObjectContext. Его основная ответственность состоит в том, чтобы управлять набором управляемых объектов. Эти управляемые объекты представляют внутренне непротиворечивое представление одного или более персистентных хранилищ. Контекст является мощным объектом с центральной ролью в жизненный цикл управляемых объектов, с ответственностью от управления жизненным циклом (включая сбой) к проверке, обработке обратной связи и отмене/восстановлению.

С Вашей точки зрения контекст является центральным объектом в Базовом Стеке данных. Это - объект, который Вы используете, чтобы создать и выбрать управляемые объекты и управлять операции восстановления и отмена. В данном контексте существует самое большее один управляемый объект представлять любую данную запись в персистентном хранилище.

Art/moc_record.jpg

Контекст подключен к хранилищу родительского объекта. Это обычно - персистентный координатор хранилища, но может быть другим контекстом управляемого объекта. При выборке объектов контекст просит, чтобы его хранилище родительского объекта возвратило те объекты, соответствующие запрос выборки. Изменения, которые Вы вносите в управляемые объекты, не посвящают себя родительскому хранилищу, пока Вы не сохраняете контекст.

В некоторых приложениях у Вас может быть просто единственный контекст. В других, однако, у Вас мог бы быть больше чем один. Вы могли бы хотеть поддержать дискретные наборы управляемых объектов и редактирований к тем объектам; или Вы могли бы хотеть выполнить фоновую работу с помощью одного контекста, позволяя пользователю взаимодействовать с объектами в другом.