Получение NSManagedObjectContext

Ну, я читал руководство по Core Data для iOS на веб-сайте Apple и не совсем понял.

Как мне получить NSManagedObjectContext, чтобы я мог использовать его для доступа к моей базе данных?


person Samuli Lehtonen    schedule 05.07.2011    source источник


Ответы (1)


Если вам нужно создать новый контекст, просто используйте alloc/init, а затем добавьте координатора постоянного хранилища. Это описано в Создание нового контекста управляемого объекта. Если вы уже создали контекст, скажем, в своем делегате приложения или в корневом контроллере представления, вам просто нужно передать его в контроллер представления при создании контроллера. Например, делегат приложения обычно создает корневой контроллер представления. Делегат приложения может создать контекст управляемого объекта, а затем установить контекст в контроллере.

person Caleb    schedule 05.07.2011
comment
Хорошо, я попытаюсь сделать это в делегате приложения и создать метод, который его возвращает. - person Samuli Lehtonen; 05.07.2011
comment
Кажется, я не могу понять, как мне сначала получить координатора магазина. - person Samuli Lehtonen; 05.07.2011
comment
Извините - ссылка была немного неверна. Исправлено сейчас. Чтобы создать координатора постоянного хранилища, снова используйте +alloc, а затем вызовите -initWithManagedObjectModel:. Как получить модель? Есть несколько методов, но +mergedModelFromBundles: — хороший выбор для начала. Подсказка: если вы создадите новый проект и установите флажок «использовать основные данные» в Xcode, вы найдете хороший начальный код, который устанавливает все это в делегате приложения. - person Caleb; 05.07.2011
comment
Это верно? managedObjectModel_ = [NSManagedObjectModel mergedModelFromBundles:[NSArray arrayWithObject:[NSBundle mainBundle]]]; persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel_]; managedObjectContext_ = [[NSManagedObjectContext alloc] init]; [managedObjectContext_ setPersistentStoreCoordinator:persistentStoreCoordinator_]; - person Samuli Lehtonen; 05.07.2011
comment
Посмотрите на делегат приложения в проекте шаблона в Xcode, который использует Core Data. Это обеспечит весь шаблон, необходимый для простого приложения на основе Core Data. - person TechZen; 05.07.2011