Начало работы с основными данными

Мне сложно понять, как Core Data работает концептуально и с точки зрения кода.

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

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

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

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

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

Ответ 1

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

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

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

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

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

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

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

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

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

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

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

[context save:&error]