description方法概述
description方法是NSObject中的一个方法。
Dog *d = [Dog new];
NSLog(@"\n%@",d);//description的用法就是,当使用%@,打印对象的时候,会调用description方法
description重写的方法
description有两种,一个是对象方法,一个是类方法
-(NSString *)description{
return @“重写description方法”;
}
+(NSString *)description{
return @"这是类方法";//需要注意的是类方法中,是不能够访问实力变量的。
}
description陷阱
不能在description方法中同时使用%@和self,下面的方法是错误的:
-(NSString *)description{
return [NSString stringWithFormat:@"%@",self];
}
同时使用了%@和self,代表调用self的description方法,因此会导致程序进入死循环,循环调用description方法。
description方法是NSObject中的一个方法。
Dog *d = [Dog new];
NSLog(@"\n%@",d);//description的用法就是,当使用%@,打印对象的时候,会调用description方法
description重写的方法
description有两种,一个是对象方法,一个是类方法
-(NSString *)description{
return @“重写description方法”;
}
+(NSString *)description{
return @"这是类方法";//需要注意的是类方法中,是不能够访问实力变量的。
}
description陷阱
不能在description方法中同时使用%@和self,下面的方法是错误的:
-(NSString *)description{
return [NSString stringWithFormat:@"%@",self];
}
同时使用了%@和self,代表调用self的description方法,因此会导致程序进入死循环,循环调用description方法。