完善我的MagicalRecord导入

时间:2013-03-21 18:28:41

标签: ios objective-c core-data magicalrecord

是的,只是清理这个问题,希望找到答案。

我一直关注这个博客,让我的导入工作。

http://www.cimgf.com/2012/05/29/importing-data-made-easy/

当JSON处于格式时,我设法让导入工作完美...

[
    {
        Name: "John Smith",
        Id: 123,
        Company:
        {
            Name: "Apple",
            Id: 1
        }
    }
]

即。当JSON包含实际对象时。

导入将找到对象并更新现有对象,而不是创建新对象。

但是,我所拥有的一些JSON格式为......

[
    {
        Name: "John Smith",
        Id: 123,
        CompanyID: 1
    }
]

无论我做什么都会造成重复。

有人可以告诉我Magical Record userinfo设置是为了让它正常工作。

1 个答案:

答案 0 :(得分:6)

感谢您的问题,我能够成功使用MagicalRecord的导入功能,虽然我已经使用了一段时间。我能够为您的问题找到解决方案。

我猜MagicalRecord将使用personID作为公司的Person和companyID。由于它在我们的控制之下,这只是一个需要注意的警告。如果我错了,请纠正我。刚从实体的属性中删除下划线后,它就不再崩溃了。

我已经完全测试了下面提到的解决方案,请参阅我使用的demo project code。所以随时提出问题。

Company
-------------
companyID (unique) //Removed underscore from the property
companyName
-------------
persons

Person
-------------
personID (unique) //Removed underscore from the property
firstName
lastName
-------------
company

对于这种格式:

{
        Id: 1,
        FirstName: "John",
        LastName: "Smith"
        Company :
        {
            Id: 123
        }
    }
}

以下内容应该是userInfo中为公司关系提供的

mappedKeyName : Company(在JSON的密钥中使用)

relatedByAttribute : companyID(公司实体中的唯一媒体资源名称)

对于这个模型:

{
    Id: 1,
    FirstName: "John",
    LastName: "Smith"
    CompanyId: 123
}

mappedKeyName : CompanyId(在JSON的密钥中使用)

relatedByAttribute : companyID(公司实体中的唯一媒体资源名称)