【发布时间】:2015-06-03 04:22:36
【问题描述】:
我有两个 CoreData 实体:List 和 Item。 List 包含与目标 Item 的关系。它是一对多关系(List 实体可以包含许多 Items)
List = {
id: String,
name: String
items: <Item>
}
Item = {
id: String,
name: String
}
现在,假设我们有:
总共 2 个列表 -> List_1 和 List_2
共 3 项:Item_1、Item_2 和 Item_3。
列表如下:
List_1 = {
id: "1001",
name: "Foo"
items: <Item_1, Item_2>
}
List_2 = {
id: "1002",
name: "Bar"
items: <Item_2, Item_3>
}
当我对 CoreData 进行提取时,我遇到了不一致的结果,并且不一致是基于应用程序中加载的最后一个 List。
例如,如果我使用该应用程序并且当我查询以获取 List_1 中的所有项目时,我加载的最后一个列表是 List_1,我会返回:
Item_1, Item_2
但是,如果我使用该应用程序并且当我查询以获取 List_1 中的所有项目时,我加载的最后一个列表是 List_2,我将返回:
Item_1(仅....否 Item_2?!)好像它已从 List_1“移出”并移入 List_2,因为 List_2 是访问过的最后一个包含 ` 的列表项目_2。
作为一对多关系的一部分存储的 CoreData 对象是否一次只允许存在于一个 CoreData 对象中?有人认为我处理这个问题的方式有问题吗?
感谢任何帮助!谢谢
【问题讨论】:
标签: ios swift core-data nsmanagedobject