如何阅读核心数据描述?

How do I read Core Data descriptions?

我在调试核心数据时遇到问题。我有两个对象

<MyClass: 0x7f9eab6cc7e0> (entity: MyClass; id: 0xd000000000300000 <x-coredata://24C40E7B-ECD2-48C5-89A6-03F85727EC5A/MyClass/p12> ; data: {})

<MyClass: 0x7f9eab672190> (entity: MyClass; id: 0xd000000000040000 <x-coredata://24C40E7B-ECD2-48C5-89A6-03F85727EC5A/MyClass/p1> ; data: {})

这两个对象有不同的指针,但应该指向同一个核心数据对象。两者具有相同的 <x-coredata://24C40E7B-ECD2-48C5-89A6-03F85727EC5A/DBUser/> 但 p12 和 p1 不同。这些线是什么意思?对于系统来说,它们是两个不同的对象,而它们应该是同一个对象。

我如何理解 Core Data 描述字符串告诉我的内容?

谢谢!

在进一步挖掘之后,我找到了这些。 NSManagedObject 的描述是这样的。

x-coredata://[Store UUID]/[Entity Name]/[Primary Key]

其中主键与数据库中的条目相关。我遇到的问题是获取了错误的对象。

如果您使用 SQLite 持久化数据,那么 p1 和 p12 直接与 table 中的数据行相关,这相当于说该记录的主键。

如果您了解如何使用终端访问您的 SQLite 存储,您将能够检索该实体的整个 table 数据,并看到您检索的两条记录实际上位于第 1 行和12.