接上次OC中特有的语法

注:(由于身边没有苹果设配 就先总结下,相关代码后补)

三、description方法

1. -descriotion 方法

使用NSLog和%@输出某个对象时候,会调用对象的-description方法,并拿到返回值进行输出

2.+description 方法

使用NSLog%@输出某个类对象时,会调用类对象+description方法,并拿到返回值进行输出

3.修改NSLog的默认输出

 重写-description或者+description方法即可。

4.死循环陷阱

 

如果在-description方法中使用NSLog打印self。

四、SEL

1.方法的存储位置

每个类的方法列表都存储在类对象中

每个方法都有一个与之对应的SEL类型的对象

根据一个SEL对象就可以找到方法的地址,进而调用方法

SEL类型的定义

typedef struct objc_selector  *SEL;

2.SEL对象的创建

SEL s = @selector(test);

SEL s2 = NSSelectorFromString(@"test")

 3.SEL对象的其他用法

// 将SEL对象转为NSString对象

NSString *str = NSStringFromSelector(@selector(test));

Person *p = [Person new];

// 调用对象p的test方法

[p performSelector:@selector(test)];

 

 

 

原文地址:https://www.cnblogs.com/nqs674/p/4769011.html