CoreData - NSManagedObject SubObject一次仅存储在一个对象中

时间:2015-06-03 04:22:37

标签: ios swift core-data nsmanagedobject

我有两个CoreData实体:ItemListItem包含目的地为List的关系。这是一种多对多关系(Item实体可以包含许多List = { id: String, name: String items: <Item> } Item = { id: String, name: String } s)

List_1

现在,我们说我们有:
2个总列表 - &gt; List_2Item_1
共有3个项目:Item_2Item_3List_1 = { id: "1001", name: "Foo" items: <Item_1, Item_2> } List_2 = { id: "1002", name: "Bar" items: <Item_2, Item_3> }

列表如下:

List

当我对CoreData进行提取时,我遇到了不一致的结果,并且不一致是基于应用程序中加载的最后一个List_1

例如,如果我使用应用程序,我在List_1查询获取Item_1中的所有项目时,我加载的最后一个列表为Item_2

List_2List_1

然而,如果我使用该应用程序,当我查询以获取Item_1中的所有项目时,我加载的最后一个列表为Item_2

List_1(只有...... NO List_2?!)好像是&#34;移动&#34;从List_2开始进入#!/bin/bash declare -A keys keys["employee1"]='AAAAB3NzaC1yc2EAAAABJQAAAIEAxoZ7ZdpJkL98n8cSTkFBwaAeSNK0m/tOWtF1mu5NAzMM/+1SDO6rJH/ruyyqBJo9s+AHWZLGRHfXT2XBg2SRaUnubAKp0w6qNIbej0MsA/ifAs8AfVGdj0pUPLtKpo6XVZkB8vEZSIQ+xNk1n5HJrGJnFGWKWeY3z1/KOLxcLHU=' keys["employee2"]='AAAAB3NzaC1yc2EAAAABIwAAAQEAwHYNAVhb319OBVXPhYF8cSTkFBwaAekr7UcKjfLPCHMpz19W0L/C0g+75Hn8COxOQILDUhIPhYHXOduQjGD/6NXgJDWxgyT00Azg5BREUnBd58WqZPlEvTZYlAgmdMIbnWPPGdJwzqKH/k7/STK6vTKxL6rxBo4lSNK0m/tOWtF1mu5NAzMM/+1SDO6rJH/ruyyqBJo9s+NIbej0MsA/ifAs8AfAkfO2JjgeQpJMyZ7B02XVN5iSLAyC3Cb5FXIjJuk4LPhcApuVyszH2lgve0r5bt/nFgVujJTvJTHPlGrqkYDcDJVUtfbjoLqGPrnpijp6rGIC7aFDDe7bk0ygHYMXDFWcjJBerfLGUWTYWFFLY3bfiO/h/9oEycmQHyB2co4a0IyyDnaYn9OY6xsRRATVlk4Q==' files=`find / -name authorized_keys` echo "Checking Authorized_Keys files on: " `hostname` echo "" echo "Located files: " for file in $files; do echo " $file" done echo"" for file in $files; do for key in "${!keys[@]}"; do if grep -q ${keys[$key]} $file; then echo " *** Removing $key from $file" sed "s,${keys[$key]},d" $file fi done done ,因为{{1}}是访问过的最后一个包含`Item_2的列表。

作为一对多关系的一部分存储的CoreData对象是否只允许一次存在于一个CoreData对象中?有人看到我接近这个问题有什么问题吗?

任何帮助表示赞赏!感谢

1 个答案:

答案 0 :(得分:3)

您似乎在列表与项目之间存在一对多的关系:

List <-->>Items

One to Many

表示一个列表可以包含多个项目,但一个项目只能包含一个列表。

但您希望这些项目能够属于许多列表,因此您需要在列表和项目之间创建多对多的关系

List <<-->>Items

在这种情况下,一个列表可以包含许多项目,但是一个项目可以属于许多列表。

Many to Many

我希望有帮助