标签:
一.description方法的使用
1.默认的description方法
NSLog函数一旦发现用%@输出某个OC对象时,就会调用这个对象的description方法(这个方法返回值是NSString类型,是OC中的字符串类型),并且将description方法返回的字符串代替%@的位置进行输出.
* description方法的默认实现是返回这样的格式:<类名: 对象的内存地址>,因此上面代码的输出结果为:
2.重写description方法
description方法的默认实现是返回类名和对象的内存地址,这样的话,使用NSLog输出OC对象,意义就不是很大因为我们并不关心对象的内存地址,比较关心的是对象内部的一些成变量的值。因此,会经常重写description方法,覆盖description方法的默认实现.
实例分析:
注意:
+description方法决定了类对象的输出结果,即类本身.
-description方法决定了实例对象的输出结果,即Person创建的对象。
3.description方法的陷阱
在调用description方法中,不能使用self,会导致程序的死循环.
4.在内存管理中,description方法优化内存的解决方案(注意autorelease使用位置)
5.相关打印补充扩展
1.(判断题的正确结论)
1>object-c 是单继承.
2>数组保存的只能是对象
3>每个对象都有引用计数
4>为了保证程序不产生额外内存开销,当对象不再被需要以后,应当被销毁
5>.类目可以为所有类添加方法,同时无论能否拿到类的源码,类目都可以对其扩展
答案:(A)
解析:
标签:
原文地址:http://www.cnblogs.com/erdeng/p/4783094.html