分为三种:
1.最常用的performSelector
延时执行:
[self performSelector:@selector(yourFunctionName) withObject:@"functionTag"afterDelay:5.0];
取消延时执行
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(yourFunctionName) object:@"functionTag"];
2.NStimer
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(yourFunctionName) userInfo:@{@"key":@"value"} repeats:NO];//不重复执行
取消延时
[timer invalidate];
3.GCD对应的dispatch_after,没有取消,需要使用特殊方法,有兴趣的同学可以查阅资料,我就不说了。有兴趣的也可以去这个大哥那看一下链接。