добавление созданных экземпляров в CoreData - PullRequest
0 голосов
/ 30 июня 2010

Я только что попробовал основные данные прямо сейчас.

Я создал приложение, которое загружает Locations с сервера и создает с помощью JSON-Parser динамически экземпляры модели класса «Location». Работает нормально и без проблем.

Теперь мне нужно сохранить некоторые местоположения в качестве местоположений favoredLocations на клиенте. Поэтому я хочу использовать CoreData. Я настроил LocationsDetailView с кнопкой «Добавить в избранное». И следующие вещи, которые должны произойти, это «Неизвестные вещи» сейчас.

- (void)addFavorite{
LogForGUI(@"TODO Add Favorit with name %@ to Core Data", **objTheLocation**.strAdr);
// Create a new instance of the entity managed by the fetched results controller.
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

// If appropriate, configure the new managed object.
[newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];...

Я создал Location.xcdatamodel ModelClass Location.h. Мне пришлось удалить массивы и словари в xcdatamodel, потому что им требовался тип, а массив был недоступен (очевидно).

Так что я хочу: Я хочу перенести мой уже созданный экземпляр модели в мир CoreData без установки всех свойств.

И второй вопрос: как я могу обрабатывать массивы и словари с основными данными.

1 Ответ

2 голосов
/ 30 июня 2010

Во-первых, вы не работаете с массивами и словарями в Core Data. Базовые данные - это ваш граф объектов.

Что касается вашего первого вопроса, что вы имеете в виду под своим экземпляром модели? Если вы создали xcdatamodel, он будет скомпилирован в файл mom и помещен в вашу папку ресурсов. Используя шаблон Core Data code, вы можете загрузить этот файл mom и создать стек Core Data.

Если вы не имеете в виду xcdatamodel, уточните свой вопрос.

Обновление

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

...