我如何阅读核心数据描述?

时间:2015-05-10 15:33:28

标签: ios core-data nsmanagedobject

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

<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: {})

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

在挖了一点之后,我发现了这些。 NSManagedObject描述符合这一点。

  

x-coredata:// [存储UUID] / [实体名称] / [主键]

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

答案 1 :(得分:0)

如果使用SQLite持久保存数据,则p1和p12直接与表中的数据行相关,这与说出该记录的主键相同。

如果您学习如何使用终端访问SQLite商店,您将能够检索该实体的整个数据表,并看到您检索到的两条记录实际上是在第1行和第12行。