SEL其實是對方法的一種包裝,將方法包裝成一個SEL類型的數據,去找對應的方法地址。找到方法地址就可以調用方法,其實消息就是SEL
1.把test2包裝成SEL類型的數據
2.根據SEL數據找到對應的方法地址
3.根據方法地址調用對應的方法
間接調用test2方法
[p performSelector:@selector(test2)];
[p test3:@"123"];
SEL s = @selector(test3:);
[p performSelector:s withObject:@"456"];