0

我正在编写的 iOS 应用程序中使用 Core Data

我有一个名为 Track 的实体和一个名为 List 的实体

一个列表包含许多轨道,但也可以包含其他列表。

打个比方,想象一个包含歌曲和其他播放列表组合的播放列表,它们本身可以同时包含歌曲和其他播放列表。

xdatamodeld 似乎可以容纳具有名称属性的列表实体以及与轨道和列表的多对多关系,但我想知道这是否是正确的方法。我想我会问这里有经验的程序员,如果我走这条路,我可能需要注意什么问题......我认为循环引用存在很大风险,并且列表不应包含任何列表包含它...但可能还有其他问题...

提前感谢您的帮助

4

1 回答 1

0

你的方法没有错。在设置删除记录时对受抚养人发生的事情时要小心,以避免循环删除。更简洁的方法是创建一个 listItem 表,其中包含一个布尔字段以指示该项目是否与列表或轨道相关联,然后与列表和轨道具有 has_one 关系。列表表将包含 listItems 并且 listItems 将管理它包含的内容。它与您的相同,只是它添加了一个设计分离,可以轻松处理依赖关系。

于 2013-08-22T07:55:49.550 回答