Я испытываю затруднения при понимании, как Базовые Данные работают концептуально и с точки зрения кода.
Я получаю это существует координатор и контекст. Я также получаю это существует управление состоянием. Как они сотрудничают?
Я не понимаю, как я могу сохранить, скажем, изображение и несколько строк как объект.
Скажем, я хочу получить изображение и строки позже. Что я делаю?
Где я сохраняю свое состояние? Как?
На что похож мой код? Я был бы очень признателен за базовый пример кода здесь, потому что я действительно смущен.
Это одни из лучших руководств, которые я нашел:
Что касается ваших вопросов:
Я понимаю, что есть координатор и контекст. Я также понимаю, что есть государственное управление. Как они работают вместе?
Постоянный координатор хранилища - это то, что управляет местом, где на самом деле хранятся ваши данные, будь то база данных SQLlite, файл XML или что-то еще. Координатор - это абстракция, поэтому вам не нужно беспокоиться о том, какой тип хранилища находится в бэкэнде.
Контекст управляемого объекта - это то, как вы взаимодействуете с координатором постоянного хранилища. Думайте об этом как о своей записной книжке. Вы создаете и изменяете управляемые объекты из контекста управляемого объекта.
Я не понимаю, как я могу сохранить, скажем, изображение и несколько строк как объект. Допустим, я хочу получить изображение и строки позже. Что мне делать?
Если вы просмотрите некоторые из вышеперечисленных руководств, вы увидите, как извлекать объекты из контекста управляемого объекта. NSString будет просто храниться в виде строкового атрибута управляемого объекта, например:
[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"];
Я не совсем уверен насчет изображений, поскольку я никогда раньше не сохранял изображения в Core Data. Я знаю, что все, что можно сериализовать, можно сохранить как трансформируемый атрибут. Вот сообщение о хранении UIImages в Core Data
Где мне сохранить свое состояние? Как?
Вы просто вызываете метод save в контексте управляемого объекта. Примерно так:
[context save:&error]
Для начала Apple предоставляет тонны документации и исходного кода кода .