description
背景:
%@
是用来打印对象的, 其实%@
的本质是用于打印字符串
只要利用%@打印某个对象, 系统内部默认就会调用父类
的description
方法
调用该方法, 该方法会返回一个字符串, 字符串的默认格式 <类的名称: 对象的地址>
重写:
可以重写description
方法, 返回我们需要打印的内容
只要利用%@
打印对象, 就会调用description
如果打印的是对象就会调用 - 号开头的description
方法()
注意:
在description
方法中尽量不要使用self
来获取成员变量
因为如果经常在description
方法中使用self
, 可能会不小心就写成了 ...%@, self
如果在description
方法中利用%@
输出self
会造成死循环
如果通过%@
打印对象就会调用 -号 开头的(开发中的绝大多数情况)
如果通过%@
打印类对象就会调用 +号 开头的