【Effective Objective-C 2.0 读书笔记】
2016-03-05 本文已影响19人
DoubleLife不可以
第十七条:实现description方法
测试程序时,经常需要打印并查看对象信息。
最常用的做法是:
NSLog(@“object = %@“,object);
在构建需要打印到日志的字符串时,object对象会收到description消息,该方法所返回的描述信息将取代“格式字符串”里的“%@”。
然而在自定义的类上这么做,则会输出:
object =
与object为数组是输出的信息相比,上面这种内容不太有用。
除非在自己的类里覆写description方法,否则打印信息时,就会调用NSObject类所实现的默认方法。
一般自定义类的description方法通常可以这样实现:
-(NSString *)description{
return [NSStringstringWithFormat:@“<%@: %p, \”%@ %@\”>”, [self class], self, _firstName, _lastName];
}
【要点】
实现description方法返回一个有意义的字符串,用以描述该实例。
若想在调式时打印出更详尽的对象描述信息,则应实现debugDescription方法。