SEL:全称selector表示方法的存储位置。
(SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去寻找对应的方法地址,找到方法地址后就可以调用方法。这些都是运行时特性,发消息就是发送SEL,然后根据SEL找到地址,调用方法)代码案例
@interface Person : NSObject
-(void)test;
@end
@implementation Person
-(void)test{
NSLog(@"----->test");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p = [Person new];
//手动把test方法包装成SEL类型
SEL s1 = @selector(test);
//响应方法
[p performSelector:s1];
}
return 0;
}