屏幕快照 2015-08-28 20.23.40.png
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;
}