最佳答案
NSManagedObject 是一个不透明的类 - 正如您所看到的,它唯一的 ivar 是 isa 指针。如果不知道它的幕后工作原理,您就无法获取它所保存的实际数据。你来自 Swift,但在 ObjC 方面也是如此......
lldb 中此问题的一般解决方案必须有一个 NSManagedObject 的 lldb 数据格式化程序。 lldb 为其他著名的不透明类提供了此功能。例如,这就是您如何能够看到 ObjC NSArray 和 NSDictionary 的元素,即使这些类中除了 isa 之外没有明确的 ivar。许多 swift 标准库类(如数组和字典)也是如此 - 尽管在 swift 类的情况下有一些 ivar,但它们不是很有指导意义。
lldb 目前没有 NSManagedObject 的数据格式化程序。 Apple 以外的任何人都很难编写一个,因为这将取决于类的实现细节(随着版本的不同而变化)。如果这样的数据格式化程序对您有用,请在 http://bugreporter.apple.com 提交增强请求。 .
关于ios - `NSManagedObject` 对象内容从未在 Xcode 调试器中直接显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247386/