1.performSelector方法
//delayMethod 為你的 方法代碼塊
[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];
2.定時(shí)器:NSTimer
//此方式要求必須在主線程中執(zhí)行货邓,否則無效。
//是一種非阻塞的執(zhí)行方式蝗锥,
//可以通過NSTimer類的- (void)invalidate;取消執(zhí)行妓灌。
[NSTimer scheduledTimerWithTimeInterval:1.0f? target:self selector:@selector(delayMethod)? userInfo:nil repeats:NO];
3. sleep方式
//此方式在主線程和子線程中均可執(zhí)行轨蛤。
//是一種阻塞的執(zhí)行方式,建方放到子線程中虫埂,以免卡住界面
//沒有找到取消執(zhí)行的方法祥山。
[NSThread sleepForTimeInterval:1.0f]; [self delayMethod];
4.GCD方式
//此方式在可以在參數(shù)中選擇執(zhí)行的線程。
//是一種非阻塞的執(zhí)行方式掉伏,
//沒有找到取消執(zhí)行的方法缝呕。
double delayInSeconds = 1.0;
__block ViewController* bself = self;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[bself delayMethod]; });
轉(zhuǎn)自:http://blog.csdn.net/chenyong05314/article/details/24695897