iOS 中description方法随笔

2017-10-26  本文已影响9人  张开V

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方法,获取我们自己想要的打印内容。

上一篇 下一篇

猜你喜欢

热点阅读