iOS: performXXX的几种方法总结:
performXXX的用法:
视图切换:
※根据segue标识符切换视图
performSegueWithIdentifier:(NSString *) identifier sender:(id) sender;
同步执行,与线程无关,等同于直接调用该方法。在需要动态的去调用方法的时候去使用。
※执行某一个自定义的方法
performSelector:(SEL) aSelector;
※延时执行某一个自定义的方法,传入一个特定模式的数组参数(如果数组没有数据或者参数为nil,则不会调用selector方法)
performSelector:(SEL) aSelector withObject:(id) obj afterDelay:(NSTimeInterval) delay inModes:(NSArray *) modes;
※延时执行某一个自定义的方法,传入一个默认模式的数组参数
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
※执行某一个自定义的方法,并传入一个参数
performSelector:(SEL) aSelector withObject:(id) obj;
※执行某一个自定义的方法,并传入两个参数
performSelector:(SEL) aSelector withObject:(id) obj1 withObject:(id) obj2;
与多线程的执行相关:
※在后台线程执行某一个自定义的方法,传入一个参数
performSelectorInBackground:(SEL) aSelector withObject:(id) obj;
※在某一个线程上执行某一个自定义的方法
performSelector:(SEL) aSelector onThread:(NSThread *) thread withObject:(id) obj waitUntilDone:(BOOL) done;
※在某一个线程上执行某一个自定义的方法,传入一个与线程RunLoop循环执行有关的数组参数
performSelector:(SEL) aSelector onThread:(NSThread *) thread withObject:(id) obj waitUntilDone:(BOOL) done modes:(NSArray *) modes;
※在主线程执行某一个自定义的方法
performSelectorOnMainThread:(SEL) aSelector withObject:(id) obj waitUntilDone:(BOOL) done;
※在主线程执行某一个自定义的方法,传入一个与主线程RunLoop循环执行有关的数组参数
performSelectorOnMainThread:(SEL) aSelector withObject:(id) obj waitUntilDone:(BOOL) done modes:(NSArray *) modes;