我在正在编写的iOS应用中使用Core Data
我有一个名为Track的实体和一个名为List
的实体列表包含多个曲目,但也可以包含其他列表。
进行类比,想象一个包含歌曲和其他播放列表组合的播放列表,它们本身可以包含歌曲和其他播放列表。
xdatamodeld似乎适应了具有name属性的列表实体以及与轨道和列表的多对多关系,但我想知道这是否是正确的方法。我想我会问这里有经验的程序员如果我走这条路线可能需要注意的问题...我假设存在循环引用的重大风险,并且列表不应包含任何列表包含它......但也可能存在其他问题......
提前感谢任何帮助
答案 0 :(得分:0)
你的方法没有错。在设置记录删除时设置发生在家属身上的事情时要小心,以避免循环删除。更简洁的方法是创建一个listItem表,其中包含一个布尔字段,用于指示该项是与列表或轨道相关联,然后与列表和轨道具有has_one关系。列表将包含listItems,listItems将管理它包含的内容。它与你的相同,只不过它增加了一个设计分离,可以很容易地处理依赖关系。