[Objective-c 基础

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
 
 
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
 
C.NSLog的更多功能
1.占位符%p:打印指针地址,重写了实例对象的-description方法之后,可以使用此占位符打印地址
2.宏定义,NSLog提供了各种宏定义变量,如行号__LINE__、文件名__FILE__等
sample: NSLog(@“%d”, __LINE__);
 
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
原文地址:https://www.cnblogs.com/wvqusrtg/p/4501616.html