#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方法,如此一来就会造成死循环。


MatTsonga
8 声望0 粉丝