Импорт мультиреляционных данных с помощью MagicalPecord от magicalpanda - PullRequest
0 голосов
/ 04 февраля 2012

Я бы хотел импортировать json-файл в базу данных SQLite-CoreData с помощью MagicalRecord магической панды.Это содержимое моего json-файла:

{
 "title":"Gebratener Schweinebauch auf dänische Art",
 "subtitle":"Stegt flaesk med persillesauce",
 "preparation_time":"35 Min.",
 "preparation_subtitle":"bei 225°C, nicht vorheizen.",
 "components":[
  {
        "name":"Hauptgericht",
                "ingredients": [
       {
          "name":"1 kg geschälte und gekochte Kartoffeln"
       }
  ]
  }
 ]
}

Я пытаюсь импортировать содержимое файла в следующую модель данных ядра: Изображение модели данных: http://twitpic.com/8fa0y9

Я использую следующий код для импорта json-файла:

- (void)initializeRecipeDatabase {
NSString *resource = [[NSBundle mainBundle]     pathForResource:kRecipeInitialDatabaseContentFilename 
                                                                                                         ofType:kRecipeInitialDatabaseContentFileType];
NSError *parsingError = nil;
NSDictionary *result = nil;

if (NSClassFromString(@"NSJSONSerialization")) {
    NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:resource];
    [inputStream open];

    result = [NSJSONSerialization JSONObjectWithStream:inputStream options:0 error:&parsingError];
}
else {
    NSData *jsonData = [NSData dataWithContentsOfFile:resource];
    result = [jsonData objectFromJSONData];
}

[Recipe MR_truncateAll];
[[NSManagedObjectContext MR_defaultContext] MR_save];
[Recipe MR_importFromDictionary:result];
[[NSManagedObjectContext MR_defaultContext] MR_save];


}

Импорт работает без ошибки, но когда я проверяю содержимое базы данных SQLite, у меня есть две равные записив таблице ингредиентов:

Изображение содержимого базы данных: http://twitpic.com/8fa0k3

В настоящее время я беспомощен в решении этой проблемы, и я был бы очень рад, если бы кто-то могпомоги мне.

1 Ответ

0 голосов
/ 04 февраля 2012

Вы нашли ошибку в процессе импорта.Существует запрос на получение , который в настоящее время ожидает решения этой проблемы.У меня есть очередь отложенных запросов на получение, но вы можете посмотреть там и посмотреть, поможет ли это вам сейчас

...