1.description基本概念
NSLog(@"%@", objectA);这会自动调用objectA的description方法来输出ObjectA的描述信息.
description方法默认返回对象的描述信息(默认实现是返回类名和对象的内存地址)
description方法是基类NSObject 所带的方法,因为其默认实现是返回类名和对象的内存地址, 这样的话,使用NSLog输出OC对象,意义就不是很大,因为我们并不关心对象的内存地址,比较关心的是对象内部的一些成变量的值。因此,会经常重写description方法,覆盖description方法的默认实现。
例子:
创建一个Person类,创建一个Person对象,并打印该对象:
@property (nonatomic, strong) Person *person;
self.person= [[Person alloc] init];
NSLog(@"%@", self.person);
打印结果:
然而我们并不关心对象的内存地址,此时我们重写Person类的description方法:
- (NSString *)description
{
return[NSStringstringWithFormat:@"Person",_name,_age];
}
打印结果:
这样我们通过重写description方法,获取我们自己想要的打印内容。
网友评论