【问题标题】:Importing multi-Relational Data with magicalpanda's MagicalRecord使用 magicpanda 的 MagicalRecord 导入多关系数据
【发布时间】:2012-02-03 20:23:39
【问题描述】:

我想借助魔法熊猫的 MagicalRecord 将 json 文件导入我的 SQLite-CoreData-Database。 这是我的 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

目前我有点无能为力,无法解决这个问题,如果有人可以帮助我,我会很高兴。

【问题讨论】:

    标签: iphone objective-c ios core-data magicalrecord


    【解决方案1】:

    您在导入过程中发现了一个错误。目前有一个 pull request 正在等待解决这个问题。我有一个待处理的拉取请求积压,但你可以看看那里,看看现在是否对你有帮助。

    【讨论】:

    • 我已尝试使用提交 #8c0a084 进行更改,但这似乎无法解决我的问题。我仍然得到成分实体的这两个条目:(
    • 我已经看到你已经将提交 #8c0a084 合并到 master - 我已经提取了最新版本并再次测试它,重复成分条目的错误仍然存​​在。
    • 我自己找到了解决此问题的方法,您必须在您的关系的用户信息部分中定义主键属性的名称(它应该标识您的实体唯一)-属性。
    • 嗨,Sascha,我的需求和你的一样。我需要从我创建的 Web 服务中导入数据并将它们保存到核心数据数据库中。我刚刚找到MagicRecord 库.. 如果您有时间,能否告诉我或向我展示您用于使用多个关系插入数据的代码? (我不明白这种关系应该如何处理核心数据)?谢谢...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多