【问题标题】:Unique unchangeable id for core data object核心数据对象的唯一不可更改 ID
【发布时间】:2014-01-15 17:18:32
【问题描述】:

我现在正在制作一个小型播放列表应用程序。

我创建了一个包含播放列表名称的 playlistName 实体。

然后我制作了一个歌曲实体,其中包含所有播放列表中的所有歌曲。为了知道哪首歌在哪个播放列表中,我将所选播放列表对象的 ObjectID 存储在一个名为 selectedRow 的属性中。

这就是我在 PHP/SQL 等其他语言中的做法。问题就在这里,每次我运行应用程序时,播放列表 objectID 似乎都会改变。所以当应用重启时,歌曲实体中保存的objectID不会与播放列表objectID相同。

我应该如何处理这个问题?

【问题讨论】:

    标签: ios objective-c core-data


    【解决方案1】:

    通常,您不会通过存储 objectID 手动执行此操作,而是设置从播放列表到歌曲的多对多关系。 Core Data 的主要特性之一是它能够管理对象图中的对象之间的关系。

    假设您将按照您描述的方式进行操作,您应该知道,当插入对象后首次保存对象的托管对象上下文时,您从 -objectID 获得的 NSManagedObjectID 将发生变化。之后,它将保持不变,即使在应用程序启动之间也是如此。

    不过,听起来您并不真的需要存储 objectID 来执行您所描述的操作。

    【讨论】:

    • 好吧,我不知道我的方法是否正确。如果你有更好的方法,我想听听:)
    • 我在回答的第一段中描述了我推荐的方法。使用relationships :)
    • 好的,我来看看多对多关系。欢呼
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多