1. [self performSelector:@selector(test) afterDelay:0];
2. [self test];
如上,在同一个线程中这2种写法的不同之处
1. 直接调用方法时候,一定要在头文件中声明该方法,使用时候,也要将头文件import进来
而使用performSelector时候, 可以不用import头文件,对包含方法的 对象 调用performSelector即可。使用performselector是运行时系统去找这test方法,编译期间不做任何校验
2. performSelector 此函数执行时是单线程的,你在用这个函数时。必须等调用这个函数的方法全都执行完了以后才会执行此函数中你要调用的方法