周所周知,我们在做项目时, 可以在类的.m文件中重写该类的对象的描述description方法:

示例:

-(NSString *)description
{
    NSString *str = [NSString stringWithFormat:@"name:%@ age:%d sex:%@",_name,_age,_sex];
    return str;
}

注意: 重写description方法的陷阱

千万不要在description方法中同时使用%@和self,下面的写法是错误的:

- (NSString *)description {

  return [NSString stringWithFormat:@"%@", self];

}

第2行同时使用了%@和self,代表要调用self的description方法,因为NSLog()函数在遇到%@ 占位符后会执行类中的description方法,因此最终会导致程序陷入死循环,循环调用description方法;

05-01 02:37