iOS_延时执行的几种方法
2013-09-03 19:28
232 查看
1.最直接的方法performSelector:withObject:afterDelay:
这种方法的缺点:每次要为延时写一个方法
2.使用类别,用BOLCK执行
3.使用GCD
4.可能是不太好的方法,用animation的completion参数
5.使用NSOperationQueue,在应用程序的下一个主循环执行:
这个和调用
这个和调用performSelector:withObject:afterDelay: of 0.0f等价
转自:IOS_延时执行的几种方法
这种方法的缺点:每次要为延时写一个方法
2.使用类别,用BOLCK执行
@implementation NSObject (PerformBlockAfterDelay) - (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay { block = [[block copy] autorelease]; [self performSelector:@selector(fireBlockAfterDelay:) withObject:block afterDelay:delay]; } - (void)fireBlockAfterDelay:(void (^)(void))block { block(); } @end
3.使用GCD
void RunBlockAfterDelay(NSTimeInterval delay, void (^block)(void)) { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*delay), dispatch_get_current_queue(), block); }
4.可能是不太好的方法,用animation的completion参数
[UIView animateWithDuration:0.0 delay:5.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{ } completion:^(BOOL finished) { //do stuff here }];
5.使用NSOperationQueue,在应用程序的下一个主循环执行:
[[NSOperationQueue mainQueue] addOperationWithBlock:aBlock];
这个和调用
这个和调用performSelector:withObject:afterDelay: of 0.0f等价
转自:IOS_延时执行的几种方法
相关文章推荐
- iOS中延时执行(睡眠)的几种方法
- iOS之延时执行(睡眠)的几种方法
- iOS延时执行的几种方法
- iOS 延时执行某个方法的几种方式
- iOS常见的几种延时执行的方法
- iOS-延时执行常见的几种方法
- IOS 中方法延时执行的几种方法
- IOS开发之延时执行的几种方法
- iOS开发 -- 延时执行某个方法的几种方式的比较和汇总
- IOS,延时执行的几种方法
- iOS之延时执行(睡眠)的几种方法
- iOS开发--异步在主线程中执行block的几种方法总结
- iOS中延时执行的几种方式的比较和汇总
- IOS中延时执行的几种方式的比较和汇总
- iOS 延时执行的方法
- IOS中延时执行的几种方式的比较和汇总
- IOS中的几种比较常见的延时方法的介绍及各自优缺点
- IOS中延时执行的几种方式的比较和汇总
- 【time task】Android延时执行的几种方法
- IOS中延时执行的几种方式的比较和汇总