NSObject描述和debugDescription

Boo*_*oon 33 objective-c nsobject

我已经看到为了调试目的而提及描述和debugDescription,但是我们已经看到了何时使用哪些以及在什么条件下它们可能产生不同结果的精确解释.

NSObject的文档在debugDescription上也没有任何内容.问题:何时使用哪种,在什么条件下,它们的输出应该/会不同?

ham*_*ene 39

技术说明TN2124

注意:print-object实际上调用指定对象的debugDescription方法.NSObject通过调用描述方法来实现此方法.因此,默认情况下,对象的调试描述与其描述相同.但是,如果要将这些解耦,可以覆盖debugDescription; 许多Cocoa对象都这样做.

如果已debugDescription实现,则在GDB中打印对象将显示其结果.知道description在UI中使用(我知道绑定会这样做),您可能希望使用它来打印用户不需要查看的一些其他信息.