使用现有数据导入魔法记录

Fog*_*ter 6 core-data objective-c ios magicalrecord

我正在尝试Magical Record将数据导入我的CoreData数据库.

我现在正在研究这个实体Person.

PersonfirstName,lastName,personID属性.(我知道我不需要idString,我不是在内部使用它,它用于与服务器对话).

无论如何,如果我已经有了这个人......

firstName - John
lastName - Smith
personID - 1
Run Code Online (Sandbox Code Playgroud)

我下载了JSON ......

[
    {
        firstName: John,
        lastName: Doe,
        id: 1
    },
    {
        firstName: Michael,
        lastName: Caine,
        id: 2
    },
    {
        firstName: Angelina,
        lastName: Jolie,
        id: 3
    }
]
Run Code Online (Sandbox Code Playgroud)

我想要导入添加MichaelAngelina更新John Smith,John Doe因为它已经存在与idID相同的id.

我在mapped和personID之间设置了mappedKeyName.

是否有可能做到这一点?我一直在阅读这个博客...... http://www.cimgf.com/2012/05/29/importing-data-made-easy/关于自动映射关键名称等...并想知道我是否可以利用这要做我想要的?

我已经从博客上阅读了有关relatedByAttribute的部分,但我不确定我应该在哪里设置它以及该怎么做?

我应该在实体Person上设置吗?还是属性personID?我应该把它设置为什么?"ID"?或者是其他东西?

cas*_*ora 6

我不确定您是否在Core Data模型的userInfo区域中使用relatedByAttribute设置.你在这里没有提到这个问题.我建议你仔细检查一下.为了澄清,它被称为relatedByAttribute,因为您放入值部分的字符串是与实体相关的CoreData属性,而不是json(或其他对象)数据.所以,检查这两件事情,如果还有问题,请在github上打开一张票,最好是用单元测试来帮助描述问题.

  • 在实体上设置它.在设置它时,我避免使用"primaryKey"这个词来远离数据库命名法.您可以将relatedByAttribute视为主键. (3认同)