延迟执行
所谓延迟执行就是延时一段时间再执行某段代码。下面说一些常用方法。
-
perform
OBJECTIVE-C
// 3秒后自动调用self的run:方法,并且传递参数:@"abc" [self performSelector:@selector(run:) withObject:@"abc" afterDelay:3];SWIFT
之前就已经说过,Swift 里去掉了这个方法。 -
GCD
可以使用 GCD 中的
dispatch_after方法,OC 和 Swift 都可以使用,这里只写 OC 的,Swift 的是一样的。OBJECTIVE-C
// 创建队列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); // 设置延时,单位秒 double delay = 3; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), queue, ^{ // 3秒后需要执行的任务 }); -
NSTimer
NSTimer 是iOS中的一个计时器类,除了延迟执行还有很多用法,不过这里直说延迟执行的用法。同样只写 OC 版的,Swift 也是相同的。
OBJECTIVE-C
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(run:) userInfo:@"abc" repeats:NO];
本文介绍了几种实现延迟执行的方法,包括使用Objective-C中的performSelector、GCD的dispatch_after及NSTimer等技术。通过这些方法,开发者可以在指定的时间间隔后执行特定的代码块。
1147

被折叠的 条评论
为什么被折叠?



