目前我需要设置一个使用以下结构的数据库。
我的第一个想法是创建3个实体,一个用于“Item”,“Object”和“Stuff”,然后在每个实体中都有一个数组。 所以每个“Item”都有一个包含“对象”的数组,每个对象都有一个“stuff”数组。
这会是一个好方法吗?如果没有,那么完成同样任务的更正确和有效的方法是什么?
答案 0 :(得分:4)
您创建3个实体的方法是正确的方法。这些实体之间的连接是Core Data称为 relations 的连接。您需要注意Core Data仅处理无序关系。因此,对象A 将无法获得 Stuff 的NSArray
,它将拥有{em> Stuff 的NSSet
。
如果需要排序,则需要使用子实体的属性进行排序,并使用NSFetchRequest
获取这些对象。例如,对某些“名称”或“日期”属性进行排序。
答案 1 :(得分:4)
在这种情况下,如果您有2个实体,并且希望它们之间存在关系,则应尝试 CoreData的关系。在这种情况下,您应该使用 to-many relationship 。
PS:别忘了选择关系删除规则! :)