核心数据对象 id 格式

Core data object id format

我通过在不同的上下文中获取相同的对象获得了这些永久对象 ID:

<x-coredata://F1697911-CD8A-4D63-B40F-AB0CA020C873/Facility/p1>
<x-coredata://F1697911-CD8A-4D63-B40F-AB0CA020C873/Facility/p2>

GUID 部分F1697911-CD8A-4D63-B40F-AB0CA020C873相同。
实体部分相同

什么是 p1p2,它们为什么不同?

我的期望是它们所代表的对象应该相同。我在不同的托管对象上下文中使用它们,但据我所知,对象 ID 应该相同。

谢谢。

p 将 objectID 标识为持久的,与其 MOC 相关联。它是整个 URI 的一部分。

临时 URI 看起来不同,例如: x-coredata:///Facility/tF1697911-CD8A-4D63-B40F-AB0CA020C873 注意 objectID 前面的 "t"。

这就是 CoreData 的 url 方案的工作原理。

您有 2 个持久的唯一 ID 来区分对象引用。