cocoa - 哪条数据唯一标识一个 NSManagedObject?

标签 cocoa core-data nsmanagedobject

我已经打印出了我的一个 NSManagedObject。我猜想字符串的 p457 部分唯一地标识了它。我说得对吗?

(Variable *) $1 = 0x0a22b870 <Variable: 0xa22b870> (entity: Variable; id: 0xa22b860 <x-coredata://5CC4CBDE-EB20-483E-AAF2-28BCDB584B4C/Variable/p457> ; data: {
    calcArgPrefix = nil;
    calcArgValue = nil;

最佳答案

如果您想跟踪它进行调试,那么可以,x-coredata://5CC4CBDE-EB20-483E-AAF2-28BCDB584B4C/Variable/p457NSManagedObjectID 的表示 最后一个斜杠后面的位将使该实例在同一实体的所有其他实例中唯一。但要小心 - 在对象实际保存到磁盘之前,分配的值允许是临时的,因此如果刚刚创建实例,则可能会在 saveContext 上更改。

如果您需要执行除调试之外的其他操作,则应使用 NSManagedObjectID 本身,而不是字符串或 URL 表示形式。

关于cocoa - 哪条数据唯一标识一个 NSManagedObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020703/

相关文章:

swift - 如何在 Swift 中向实体插入新数据?

objective-c - 为什么 Apple 在其类中使用 "flags"结构体?

objective-c - for循环中的in语句

cocoa - 使用 COCOA 将 PDF 页面转换为图像

iphone - 核心数据内存问题

cocoa - NSOutlineView 与核心数据驱动的绑定(bind)

ios - NSPredicate 按仅存在于其中一个子类中的属性过滤结果

objective-c - 通过 NSTask 执行 bash 命令的结果

swift - 在 Swift 中同时实现 Codable 和 NSManagedObject

ios - 尽管有主键,但 MagicalRecord 关系映射会复制对象