Итак, я создаю приложение на основе документов в Какао и пытаюсь понять NSManagedObjectContext. Я прочитал «Основы основных данных» Apple, но не могу осмыслить его. В своем приложении я создал собственный класс CoreDataUtility, чтобы все мои классы могли получить контекст с помощью следующих строк кода:
MyCoreDataUtility *coreData = [MyCoreDataUtility sharedCoreDataUtility];
NSManagedObjectContext *context = [coreData context];
Идея пришла мне с сайта «Какао - моя девушка». Я запутываюсь, когда запускаю свое приложение и создаю новое окно (мой класс владельца файла является подклассом NSPersistentDocument), если я вношу изменения в контекст в новом окне, представление отражает изменения в старом окне и как ну как новый. Исходя из этого, я предполагаю, что оба окна каким-то образом относятся к одному и тому же контексту или, по крайней мере, к одним и тем же данным.
Итак, мои вопросы:
- У меня есть предположение, что каждый раз, когда я создаю новое окно, создается новый контекст, это правильно?
- Если создается новый контекст, и они разные (я фактически распечатал адреса памяти двух контекстов, и их адреса разные), имеет ли это какое-то отношение к постоянному координатору хранилища или постоянному хранилищу объектов (обе эти концепции также являются туманно в моей голове)?
- Если все документы относятся к одному и тому же контексту, я отвечаю за создание нового контекста каждый раз, когда создается документ?
Спасибо всем!