A. 实例对象打印-description

1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法

2.拿到-description的返回值,显示到console中
默认返回指针地址
  1. @implementation Person
  2.  
  3. - (NSString *)description
  4. {
  5. return [NSString stringWithFormat:@"age = %d, name=%@", self.age, self.name];
  6. }
  7.  
  8. @end
  9.  
  10. int main(int argc, const char * argv[]) {
  11. @autoreleasepool {
  12. Person *p = [[Person alloc] init];
  13. p.age = ;
  14. p.name = @"张三";
  15. NSLog(@"%@", p);
  16. }
  17. return ;
  18. }
 out:
2014-11-13 17:08:53.553 07-description方法[7765:303] age = 33, name=张三
Program ended with exit code: 0
 
 
B.类对象+description
提供给类对象使用的对象打印方法,默认返回类名
  1. + (NSString *)description
  2. {
  3. return @"这是一个Person类";
  4. }
  5.  
  6. int main(int argc, const char * argv[]) {
  7. @autoreleasepool {
  8. Class c = [Person class];
  9. NSLog(@"%@", c);
  10. }
  11. return ;
  12. }
2014-11-13 17:12:15.890 07-description方法[7791:303] 这是一个Person
Program ended with exit code: 0
 
C.NSLog的更多功能
1.占位符%p:打印指针地址,重写了实例对象的-description方法之后,可以使用此占位符打印地址
2.宏定义,NSLog提供了各种宏定义变量,如行号__LINE__、文件名__FILE__等
sample: NSLog(@“%d”, __LINE__);
 
 
 
 

[Objective-c 基础 - 2.10] description方法的更多相关文章

  1. 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

    四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...

  2. 语言基础之description方法

    1.description方法的一般用处 1: // 指针变量的地址 2: NSLog(@"%p", &p); 3: // 对象的地址 4: NSLog(@"%p ...

  3. OC基础--description方法

    PS:经过之类重写description方法后,个人感觉有点像C#中的ToString();方法 一.description方法的作用:(输出所有的OC对象都用%@) 1.默认情况下(不重写descr ...

  4. 什么情况下才要重写Objective-C中的description方法

    特别注意: 千万不要在description方法中同时使用%@和self,同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用descrip ...

  5. 李洪强iOS开发之【Objective-C】07-自定义构造方法和description方法

    知识回顾 在前面已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 1 #import <Foundation/Foundation.h> 2 3 ...

  6. Objective-C运行时编程 - 实现自动化description方法的思路及代码示例

    发布自米高 | Michael - 博客园,源地址:http://www.cnblogs.com/michaellfx/p/4232205.html,转载请注明. 本文结构 基础实现 性能优化 参考 ...

  7. 【Objective-C】2.自定义构造方法和description方法

    1.Student.h 1 #import <Foundation/Foundation.h> 2 3 @interface Student : NSObject { 4 int _age ...

  8. Objective-C 【继承、变量修饰符(私有变量/方法)、description方法】

    ------------------------------------------- 继承 一段代码: #import <Foundation/Foundation.h> @interf ...

  9. runtime重写description方法打印model属性和值

    在开发过程中, 往往会有很多的model来装载属性. 而在开发期间经常会进行调试查看model里的属性值是否正确. 那么问题来了, 在objective-c里使用NSLog("%@" ...

随机推荐

  1. http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html

    http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html

  2. android 64位的so文件 报错

     问题解决了,原因是因为豌豆荚搞了个64位的so文件,然后其他用到so的就必须也要有64位的,把他们的64位的so文件删除了,就OK了...

  3. Shell中判断字符串是否为数字的6种方法分享

    #!/bin/bash ## 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] &&a ...

  4. 深入理解Java虚拟机 - 垃圾收集概述

    首先需要澄清的是,垃圾收集(GC)的历史远比Java要久远,当我们意识到手动管理内存所带来的麻烦时,懒惰的天性推动先驱们寻找更为简单.易用.关键是傻瓜式的内存管理技术.GC技术起源于1960年诞生于M ...

  5. 使用HQL查询

    HQL是Hibernate Query Language的缩写,语法很想SQL,但是HQL是一种面向对象的查询语言.SQL的操作对象是数据列.表等数据库对象,而HQL操作的是类.实例.属性. HQL查 ...

  6. 重装sql server2008数据库安装不上原因

    因为注册表已经存在了sql server的信息,所以重新安装时需要删除注册表的一些信息 打开注册表:regedit 删除 HKEY_LOCAL_MACHINE\system/CurrentContro ...

  7. RPC之——HTTP协议栈

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52531185 今天,给大家带来一篇稍有深度的文章——<RPC之——HTTP协 ...

  8. I.MX6 driver goto 使用

    /************************************************************************** * I.MX6 driver goto 使用 * ...

  9. android ListView注意事项

    所有问题,都是自己遇到过的. 但内容,有一半是自己写的,也有一半是复制过来. 所以,写成原创还请原谅 1. ListView添加标题后(addHeader())后,使用listView.getAdap ...

  10. Android样式——Styles

    说明 样式(style)是属性的集合,用来指定View或者Window的外观和格式. 这些属性可以是height(高度).padding(内边距).font size(字体颜色)等. 样式定义在另一个 ...