#import "MaTsonga .h"
@implementation MaTsonga
-(NSString *)description{
return [NSString stringWithFormat:@"{name:%@,age:%i}",self.name,self.age];
}
@end
#import "MaTsonga .h"
int main(int argc, const char * argv[]) {
MaTsonga *ma=[[MaTsonga alloc]init];
ma.name=@"似不似傻";
ma.age=24;
NSLog(@"%@",ma);//此时会调用对象description方法返回对应的描述信息
return 0;
}
注意NSLog中的格式符是%@,当使用%@输出一个对象时,ObjC会调用个对象的description返回对应的信息进行输出,默认情况下如果我们不重写description方法,输出内容是类名和地址。
需要强调的是千万不要在description中打印输出self,因为当输出self时会调用该对象的description方法,如此一来就会造成死循环。