【问题标题】:Core Data Object for ID Only Found Once仅找到一次 ID 的核心数据对象
【发布时间】:2011-06-30 13:19:42
【问题描述】:

我有一个需要解析的巨大 xml 文件。 对于 xml 中的不同标签,例如 Football Soccer Data,我创建 NSManagedObjects,例如SoccerPlayer 等等。

我还需要在解析方法中多次使用这些对象,因此我创建了一个 Object,它可以为我提供的 id 找到正确的对象。

这适用于 xml 中的第一个游戏,但之后的任何游戏都不起作用。

可能是我在解析 xml 时必须删除一些对象的问题?

对于我的 XML 解析框架,我使用 TouchXML。

以前有没有其他人经历过这种行为?

【问题讨论】:

  • 澄清:id 是 API 提供的托管对象 ID 还是您创建的自定义 ID? “为我找到正确对象的对象”是托管对象吗?你的数据模型是什么样的?我认为我们需要更多细节来回答这个问题。
  • 我认为我们需要一些代码。根据您的操作方式,您的对象或字典或任何超出范围、被释放或替换的内容都有可能发生。

标签: ios core-data nsmanagedobject


【解决方案1】:

我同意一些代码会有所帮助的评论 - 很难准确理解问题所在。不过,我会指出 NSManagedObject 的 -objectID 的文档说:

重要提示:如果接收者尚未保存,则对象 ID 为 临时值会在什么时候改变 对象已保存。

因此,如果您正在创建一个对象,存储它的 objectID,保存上下文,然后尝试使用您存储的 objectID 查找对象,您可能会失败,因为临时 objectID 被替换为保存上下文时永久的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多