仅找到一次 ID 的核心数据对象
Posted
技术标签:
【中文标题】仅找到一次 ID 的核心数据对象【英文标题】:Core Data Object for ID Only Found Once 【发布时间】:2011-06-30 13:19:42 【问题描述】:我有一个需要解析的巨大 xml 文件。 对于 xml 中的不同标签,例如 Football Soccer Data,我创建 NSManagedObjects,例如SoccerPlayer 等等。
我还需要在解析方法中多次使用这些对象,因此我创建了一个 Object,它可以为我提供的 id 找到正确的对象。
这适用于 xml 中的第一个游戏,但之后的任何游戏都不起作用。
可能是我在解析 xml 时必须删除一些对象的问题?
对于我的 XML 解析框架,我使用 TouchXML。
以前有没有其他人经历过这种行为?
【问题讨论】:
澄清:id
是 API 提供的托管对象 ID 还是您创建的自定义 ID? “为我找到正确对象的对象”是托管对象吗?你的数据模型是什么样的?我认为我们需要更多细节来回答这个问题。
我认为我们需要一些代码。根据您的操作方式,您的对象或字典或任何超出范围、被释放或替换的内容都有可能发生。
【参考方案1】:
我同意一些代码会有所帮助的评论 - 很难准确理解问题所在。不过,我会指出 NSManagedObject 的 -objectID
的文档说:
重要提示:如果接收者尚未保存,则对象 ID 为 临时值会在什么时候改变 对象已保存。
因此,如果您正在创建一个对象,存储它的 objectID,保存上下文,然后尝试使用您存储的 objectID 查找对象,您可能会失败,因为临时 objectID 被替换为保存上下文时永久的。
【讨论】:
以上是关于仅找到一次 ID 的核心数据对象的主要内容,如果未能解决你的问题,请参考以下文章