Ios 完善我的MagicalRecord导入

Ios 完善我的MagicalRecord导入,ios,objective-c,core-data,magicalrecord,Ios,Objective C,Core Data,Magicalrecord,对,把这个问题整理一下,希望能找到答案 我一直在关注这个博客,以使我的导入工作正常 当JSON在表单中时,我成功地使导入工作正常 [ { Name: "John Smith", Id: 123, Company: { Name: "Apple", Id: 1 } } ] i、 e.当JSON包含实际对象时 导入将找到对象并更新现有对象,而不是创建新对

对,把这个问题整理一下,希望能找到答案

我一直在关注这个博客,以使我的导入工作正常

当JSON在表单中时,我成功地使导入工作正常

[
    {
        Name: "John Smith",
        Id: 123,
        Company:
        {
            Name: "Apple",
            Id: 1
        }
    }
]
i、 e.当JSON包含实际对象时

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

然而,我拥有的一些JSON格式

[
    {
        Name: "John Smith",
        Id: 123,
        CompanyID: 1
    }
]
无论我做什么,它都会产生重复


请有人告诉我Magical Record userinfo的设置是什么,以使其正常工作。

谢谢你的提问,我成功地使用了MagicalRecord的导入功能,尽管我已经使用了一段时间。我有办法解决你的问题

我想MagicalRecord已经成为一种惯例,用personID表示个人,用companyID表示公司。因为它在我们的控制之下,所以这只是一个警告。如果我错了,请纠正我。刚从实体的属性中删除下划线,它就不再崩溃了

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

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
(公司实体中唯一的属性名)

我已经为您的问题试用了一个示例代码,请查看这是否有用。为什么要使用两种不同的JSON模型结构。如果这是一个优化,并且您知道公司对象已经存在,那么您可以通过保留该“Id”来使用相同的结构?该示例仅针对这个问题,与我的应用程序不同。在我的应用程序中,没有名为Person或Company的对象。这两种不同的结构与实际应用程序中完全不同的对象相关。我只是想让两者都发挥作用。不用说,这是可以理解的。但我的观点仍然成立。我能够通过遵循一个固定的格式来实现这一点。但是没有同时尝试这两种结构。第二种方法是如何工作的?我在这方面一点都没有成功?我尝试过各种设置,但都不起作用。第一条路很简单,谢谢。当我回到电脑前,我会进行测试。现在就回到电脑上。将让您知道:D@Fogmeister遗憾的是,我无法让我的解决方案像你的一样工作。仍然在处理它。好的,我已经让它处理JSON中的对象,但不仅仅是JSON。我一直在用lookupKey出错。不知道现在该去哪里。@Fogmeister你犯了什么错误?你能讨论一下吗?