run*_*mad 5 core-data nsmanagedobject ios magicalrecord
对于我在使用MagicalRecord数据导入时遇到的问题,我需要一些帮助.我的印象是MagicalRecord能够通过查看主键(relatedByAttribute)来处理关系映射而无需复制对象.
这是一个简单的JSON:
[
{
parentId: "<unique id>",
parentName : "<name>",
children : [
{
childId: "<unique id>",
childName: "<name>"
},
{
childId: "<unique id>",
childName: "<name>"
}
]
},
{ <another parent with children> }
]
Run Code Online (Sandbox Code Playgroud)
我有一个NSManagedObject Parent,它与NSManagedObject 有很多关系Child.关系的名字是children和我设置relatedByAttribute的Child,并Parent以childId和parentId分别.
当我解析JSON时,Parent它不会重复,它会正确检查主键并使用现有对象(如果存在).但是,Children每次我解析JSON时它都会复制对象.如果我Children单独解析(所以JSON只包含一个带有子词典的数组),它就没有问题正确映射数据并使用Children已存在于数据库中的现有对象.
我是否误解并对MagicalRecord如何映射关系抱有错误的期望?目前我已经设置了一个带有'importChildren:`的扩展类,我可以手动处理所有查找并相应地创建/导入对象.
谢谢!
run*_*mad 11
我设法解决了这个问题.
我所做的是添加relatedByAttribute用户信息字典中的children关系和Child实体.
所以点击关系,成立relatedByAttribute于childId(高于在我的例子),并单击左侧的儿童实体并为此还成立relatedByAttribute到childId在用户信息字典实体本身.
这允许魔法记录使用现有对象正确映射或在需要时创建新对象 - 授予ID属性100%唯一!

| 归档时间: |
|
| 查看次数: |
2334 次 |
| 最近记录: |