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

标签 ios xcode debugging core-data xcode-debugger

有什么方法可以使 NSManagedObject 对象的内容可见,而无需使用 po 或打印 NSManagedObject 中每个属性的描述> 以手动方式对象?!

enter image description here

最佳答案

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/

相关文章:

ios - 使用 Swift 3 fatal error 使用 UITextField Popup Alertview 获取文本

android - 如何在移动浏览器(Android 和 iOS)上停止自动更正 PWA 的输入文本?

ios - 如何更改导航栏的字体?

ios - XCode 创建一半大小的静态库

javascript - JS执行时间

ios - 如何在 iOS (Swift 3) 上断开 Firebase 通知?

ios - 如何从服务器中删除 JSON 形式的食谱?

尽管编译,Xcode 在编辑时显示快速错误

debugging - 当 D 中抛出异常时,如何使调试器中断?

Java - 调试和优化