首页 > 代码库 > [Objective-c 基础 - 2.10] description方法
[Objective-c 基础 - 2.10] description方法
A. 实例对象打印-description
1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法
2.拿到-description的返回值,显示到console中
默认返回指针地址
1 @implementation Person 2 3 - (NSString *)description 4 { 5 return [NSString stringWithFormat:@"age = %d, name=%@", self.age, self.name]; 6 } 7 8 @end 9 10 int main(int argc, const char * argv[]) {11 @autoreleasepool {12 Person *p = [[Person alloc] init];13 p.age = 33;14 p.name = @"张三";15 NSLog(@"%@", p);16 }17 return 0;18 }
out:
2014-11-13 17:08:53.553 07-description方法[7765:303] age = 33, name=张三
Program ended with exit code: 0
Program ended with exit code: 0
B.类对象+description
提供给类对象使用的对象打印方法,默认返回类名
1 + (NSString *)description 2 { 3 return @"这是一个Person类"; 4 } 5 6 int main(int argc, const char * argv[]) { 7 @autoreleasepool { 8 Class c = [Person class]; 9 NSLog(@"%@", c);10 }11 return 0;12 }
2014-11-13 17:12:15.890 07-description方法[7791:303] 这是一个Person类
Program ended with exit code: 0
Program ended with exit code: 0
C.NSLog的更多功能
1.占位符%p:打印指针地址,重写了实例对象的-description方法之后,可以使用此占位符打印地址
2.宏定义,NSLog提供了各种宏定义变量,如行号__LINE__、文件名__FILE__等
sample: NSLog(@“%d”, __LINE__);
[Objective-c 基础 - 2.10] description方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。