在 OS X、iOS 和 macOS 代码中创建异步计时器通常涉及使用 DispatchTime
和 DispatchTimeInterval
类。这些类允许您创建计时器,在指定的时间间隔后执行指定的代码块。以下是在 Swift 和 Objective-C 中创建异步计时器的示例。
import Foundation
func createAsyncTimer(interval: DispatchTimeInterval, block: @escaping () -> Void) {
let timer = DispatchTimer.scheduledTimer(withTimeInterval: interval, repeats: false) { _ in
block()
}
// 在需要停止计时器时,使用以下代码:
timer.invalidate()
}
let interval = DispatchTimeInterval.seconds(1)
createAsyncTimer(interval: interval, block: {
print("Timer Fired")
})
#import <Foundation/Foundation.h>
void createAsyncTimer(dispatch_time_t interval, dispatch_block_t block) {
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0);
dispatch_source_set_timer(timer, interval, 0);
dispatch_source_set_event_handler(timer, block);
dispatch_resume(timer);
// 在需要停止计时器时,使用以下代码:
dispatch_source_cancel(timer);
}
dispatch_time_t interval = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC));
createAsyncTimer(interval, ^{
NSLog(@"Timer Fired");
});
以上代码示例在 Swift 和 Objective-C 中以异步方式创建了一个计时器。createAsyncTimer
函数允许您设置时间间隔和需要调用的代码块。在 Swift 和 Objective-C 中,您可以使用 DispatchTime
和 DispatchTimeInterval
类轻松创建异步计时器。
领取专属 10元无门槛券
手把手带您无忧上云