首页 > 其他 > 详细

NSLog(@"%@",类对象); 默认输出类名

时间:2016-03-23 00:36:58      阅读:275      评论:0      收藏:0      [点我收藏+]

 

 

NSLog()函数输出Objective-c对象时,输出的是该对象的description方法的返回值。也就是说,以下两行代码作用完全一样(假设p是指向任何对象的指针变量)。

 

NSLog(@"%@",p);
NSLog(@"%@",[p description]);

NSLog(@"%@",类对象); 调用+description,此类方法返回值是 类名 ,所以这行代码的默认作用是输出类名

NSLog(@"%@",实例对象); 调用-description,此实例方法返回值是<类名:十六进制的首地址>,所以这行代码默认作用是同时输出类名和地址。 在-description方法中使用NSLog打印self,会造成死循环。

-description方法是NSObject类的方法,+descrip也是?(此行存疑)

两个description返回值都是NSString,都可以重写,以达到自定义“自我描述”的目的。

NSLog(@"%@",类对象); 默认输出类名

原文:http://www.cnblogs.com/ERICSUN12/p/5309240.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!