Objective c 如何获取核心数据实体中的行ID,以便以后可以引用它?

Objective c 如何获取核心数据实体中的行ID,以便以后可以引用它?,objective-c,core-data,ios7,Objective C,Core Data,Ios7,小问题 使用RubyonRails(我喜欢与“真实”数据库对话),通过我添加到表中的每条记录,我可以提取该记录的ID,将其发送到某处,对其进行处理,并返回可以与原始记录关联的数据 我(以我的生命)似乎无法找到在核心数据中实现这一点的方法 如果我有一个包含消息行的消息实体。我希望能够提取消息的ID(行ID?),并将其发送到我的服务器,并通过查找它的ID使响应更改相同的记录 我能得到的最接近的是[message objectID]。然而,我不知道这会返回什么,而且我似乎无法在JSON请求中对其进行编

小问题

使用RubyonRails(我喜欢与“真实”数据库对话),通过我添加到表中的每条记录,我可以提取该记录的ID,将其发送到某处,对其进行处理,并返回可以与原始记录关联的数据

我(以我的生命)似乎无法找到在核心数据中实现这一点的方法

如果我有一个包含消息行的消息实体。我希望能够提取消息的ID(行ID?),并将其发送到我的服务器,并通过查找它的ID使响应更改相同的记录

我能得到的最接近的是
[message objectID]
。然而,我不知道这会返回什么,而且我似乎无法在JSON请求中对其进行编码

任何帮助都将不胜感激,因为我真的不知道从哪里开始

编辑:


看看其他网站,最后再深入了解一下,我决定使用我自己的唯一ID。苹果可以改变URIRepresentation的结构,如果你改变核心数据的结构,objectID也可以改变。所以,最好还是坚持我所知道的。

objectID是CoreData中对象的唯一id。引自苹果

NSManagedObjectID对象是对象的紧凑、通用标识符 托管对象。这构成了核心数据统一的基础 框架托管对象ID唯一标识同一托管对象 在单个应用程序中的托管对象上下文之间, 在多个应用程序中(如在分布式系统中)。标识符 包含准确描述图形中对象所需的信息 持久存储(如数据库中的主键),但 详细信息不公开。整个框架 封装“外部”信息并呈现干净的对象 面向对象的接口

<>你可以考虑阅读文档和


您可以获得一个URIRepresentation,它可能会帮助您使用JSON表示。

查看其他网站,最后深入了解,我决定使用我自己的唯一ID。Apple可以更改URIRepresentation的结构,如果您更改核心数据的结构,objectID也可以更改。因此,最好坚持我所知道的。

objectID是CoreDataObject中对象的唯一id。只要对象被持久化,您就可以使用objectID作为唯一标识符。这个ID可能在物体被装箱后不久就会改变,但它仍然是暂时的。我可能没有很好地表达这些问题。我读了一遍又一遍的文件。。。但是没有用。不过,我正在处理此案,并将继续努力。我知道objectID是一种方式。。。但无法将信息编码为JSON格式。谢谢你的评论。为什么不能使用objectID或Uri表示?也许你会详细解释为什么这两个版本对你不起作用。显然,根据其他许多博客的说法,苹果有权随时更改
URIRepresentation
(但仍保留以前的版本)。此外,如果您迁移或更改实体的结构等,ObjectID可能会更改,这意味着它不值得付出努力或风险。我遵循了其他建议,创建了自己的唯一ID,并将搜索该ID。当我改变结构时,它们不会破坏东西(我希望如此!)。