14.description 以%@格式打印对象名的时候(NSLog(@“%@”,实例对象名)),调用的是description,默认打印出的结果是对象的地址<Dog: 地址内容> 此处可以重写方法(父类的)
重写description对象方法: -(NSString *)description{
NSString *str =[NSString stringWithFormat: @"年龄:%d,颜色:%d",_age,_color];//_age,_color是类的属性 return str; 或者 return [NSString stringWithFormat: @"年龄:%d,颜色:%d",_age,_color];
}
重写description类方法 +(NSString *)description{ //在类方法中不能访问实例变量,因此,下面这句话是错误的 // return [NSString stringWithFormat: @"年龄:%d,颜色:%d",_age,_color]; return @"这是类方法";
}
调用description类方法 NSLog(@“%@”,[p class]);
注意:千万不要在description方法中同时使用%@和self . 同时使用等于调用了self的description ,因此导致陷入死循环。
|