我如何读取核心数据描述



我很难调试核心数据。我有两个对象

<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上有所不同。这些线意味着什么?对于系统,它们是两个不同的对象。

我如何理解什么核心数据描述字符串告诉我?

谢谢!

挖了一点后,我发现了这些。nsmanagedObject描述是这样的。

x-coredata://[store uuid]/[entity name]/[primary键]

主要键与数据库中的输入有关。我遇到的问题是获取错误的对象。

如果您使用sqlite持续存在数据,则P1和P12直接与表中的数据行有关,这与说该记录的主要键相同。

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

最新更新