我现在正在制作一个小型播放列表应用程序。
我制作了一个播放列表名称实体,其中包含播放列表的名称。
然后我制作了一个歌曲实体,其中包含所有播放列表中的所有歌曲。要知道哪个歌曲在哪个播放列表中,我将所选播放列表对象中的ObjectID存储在名为selectedRow的属性中。
这就是我用PHP / SQL等其他语言做的方法。问题在于,每次运行应用程序时,播放列表的对象ID似乎都会发生变化。因此,当重新启动应用时,歌曲实体中保存的objectID将不再与播放列表objectID相同。
我该如何处理这个问题?
答案 0 :(得分:0)
通常,您不是通过存储objectID手动执行此操作,而是设置从播放列表到歌曲的多对多关系。 Core Data的主要功能之一是它能够管理对象图中对象之间的关系。
假设你要按照你所描述的方式去做,你应该知道,当插入一个对象的托管对象上下文后,你NSManagedObjectID
得到的-objectID
将会改变物体。之后,即使在应用程序启动之间也会保持不变。
但是,听起来你真的不需要存储objectID来做你正在描述的事情。