如何阅读核心数据描述?
Posted
技术标签:
【中文标题】如何阅读核心数据描述?【英文标题】:How do I read Core Data descriptions? 【发布时间】:2015-05-10 15:33:27 【问题描述】:我在调试核心数据时遇到问题。我有两个对象
<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 描述字符串告诉我的内容?
谢谢!
【问题讨论】:
我认为您尝试基于此格式调试问题的方向错误。究竟是什么问题?这两个对象是否在同一个上下文中? 【参考方案1】:再挖一点之后,我找到了这些。 NSManagedObject 描述是这样符合的。
x-coredata://[Store UUID]/[Entity Name]/[Primary Key]
其中主键与数据库中的条目相关。我遇到的问题是获取错误的对象。
【讨论】:
【参考方案2】:如果您使用 SQLite 持久化数据,则 p1 和 p12 直接与表中的数据行相关,这与说该记录的主键相同。
如果您了解如何使用终端访问 SQLite 存储,您将能够检索该实体的整个数据表,并查看您检索到的两条记录实际上位于第 1 行和第 12 行。
【讨论】:
以上是关于如何阅读核心数据描述?的主要内容,如果未能解决你的问题,请参考以下文章