NSManagedObject对象的内容从未在Xcode调试器中直接显示

时间:2019-05-21 23:10:52

标签: ios xcode debugging core-data xcode-debugger

是否可以通过任何方式使NSManagedObject对象的内容可见,而无需使用po或手动打印NSManagedObject对象中每个属性的描述?!< / p>

enter image description here

1 个答案:

答案 0 :(得分:1)

NSManagedObject是一个不透明的类-如您所见,它唯一的ivar是isa指针。如果不知道它是如何工作的,您将无法获得它所拥有的实际数据。您来自Swift,但ObjC方面也是如此...

lldb中此问题的一般解决方案必须为NSManagedObject使用lldb数据格式化程序。 lldb为其他突出的不透明类提供此功能。例如,即使在这些类中没有isa以外,也没有其他显式的ivar,这就是您能够查看ObjC NSArray和NSDictionary的元素的方式。对于许多快速标准库类(例如数组和字典)而言,情况都是一样的-尽管在快速类的情况下,存在一些ivars,它们只是没有很大的指导意义。

lldb当前没有用于NSManagedObject的数据格式化程序。苹果之外的任何人都很难编写一个,因为这将取决于该类的实现细节(不同版本之间会有所不同)。如果这样的数据格式化程序对您有用,请在http://bugreporter.apple.com上提出增强请求。