注:(由于身边没有苹果设配 就先总结下,相关代码后补)
三、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)];