2010-07-28 2 views
11

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

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

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

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

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

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

ответ

25

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

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

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

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

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

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

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

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

Я не совсем уверен, что образы, как я никогда не хранятся изображения в Core Data раньше.Я знаю, что все, что может быть сериализовано, может быть сохранено как трансформируемый атрибут. Here's a post about storing UIImages in Core Data

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

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

[context save:&error] 
+2

Вы можете хранить объекты NSData в Core Data, так, чтобы сохранить изображение, получить его данные (возможно, с использованием UIImagePNGRepresentation()) и хранить это. Чтобы получить изображение, получите объект NSData из Core Data, а затем используйте метод UIImage + imageWithData, чтобы получить UIImage. –

+0

Ah ... Ray Wenderlich - У него хороший сайт. – Moshe

+0

Второе учебное пособие, с которым вы связались, возвращается с ошибкой 400 Bad Bad во время написания этого комментария. – BinaryMisfit

Смежные вопросы