Начало работы с основными данными - PullRequest
11 голосов
/ 28 июля 2010

У меня возникают проблемы с пониманием того, как Core Data работает концептуально и с точки зрения кода.

Я понимаю, что есть координатор и контекст.Я также понимаю, что есть государственное управление.Как они работают вместе?

Я не понимаю, как я могу сохранить, скажем, изображение и несколько строк в качестве объекта.

Допустим, я хочу получить изображение иСтроки позже.Что я делаю?

Где я могу сохранить свое состояние?Как?

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

Ответы [ 3 ]

25 голосов
/ 29 июля 2010

Вот некоторые из лучших учебников, которые я нашел:

Что касается ваших вопросов:

Я понял, что есть координатор и контекст. Я также понимаю, что есть государственное управление. Как они работают вместе

Постоянный координатор хранилища - это то, что управляет местом, где на самом деле хранятся ваши данные, будь то БД SQLlite или файл XML или что-то еще. Координатор - это абстракция, поэтому вам не нужно беспокоиться о том, какой тип хранилища находится в бэкэнде.

Контекст управляемого объекта - это способ взаимодействия с координатором постоянного хранилища. Думайте об этом как о своей блокноте. Вы создаете и изменяете управляемые объекты из контекста управляемых объектов.

Я не понимаю, как я могу хранить, скажем, изображение и несколько строк в качестве объекта. Допустим, я хочу получить изображение и строки позже. Что мне делать?

Если вы посмотрите некоторые из приведенных выше руководств, вы увидите, как вытащить объекты из контекста управляемого объекта. NSString будет просто храниться как строковый атрибут в управляемом объекте, например, так:

[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"];

Я не совсем уверен в изображениях, так как никогда раньше не сохранял изображения в Core Data. Я знаю, что все, что может быть сериализовано, может быть сохранено как преобразуемый атрибут. Вот пост о хранении UIImages в Core Data

Где я могу сохранить свое состояние? Как?

Вы просто вызываете метод 'save' в контексте управляемого объекта. Вот так:

[context save:&error]
3 голосов
/ 28 июля 2010

Пройдите учебник Apple по Core Data .

1 голос
/ 28 июля 2010

Документация тонн из и источника код доступна от Apple для начала работы.

...