- %p 打印的是指针变量的值.
%@ 打印的是指针指向的对象.
如果我们使用%@打印1个对象
- 输出的格式: <对象所属的类名:对象的地址>
原理:
当我们使用%@打印1个对象的时候, NSLog函数的底层实现.
调用传入的对象的 description方法.
拿到这个方法的返回值 这个返回值是1个字符串.
. 将这个字符串输出.
description方法是定义在NSObject类之中的.
所以每1个OC对象都有这个方法.
这个方法在NSObject类中的实现是这样的:
- 返回的字符串格式 @”<对象所属的类名:对象的地址>”
什么时候需要重写description方法呢?
- 如果你希望使用%@打印1个对象的时候 你希望这个对象打印的个数是我们自定义的.
- 那么就可以重写这个方法.
- (NSString *)description
{
return [NSString stringWithFormat:@"姓名:%@ 年龄%d",_name,_age];
}