要计时Cocoa应用程序,您可以使用NSTimer
或DispatchSourceTimer
。以下是两种方法的简要说明和示例代码。
NSTimer
NSTimer
是一个常用的计时器类,可以在指定的时间间隔内执行代码块。
import Foundation
class TimerExample: NSObject {
var timer: NSTimer?
func startTimer() {
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(timerFired), userInfo: nil, repeats: true)
}
func stopTimer() {
timer?.invalidate()
timer = nil
}
@objc func timerFired() {
// 在这里执行您的代码
}
}
DispatchSourceTimer
DispatchSourceTimer
是一个基于GCD(Grand Central Dispatch)的计时器,可以更简洁地实现计时功能。
import Dispatch
class TimerExample {
private var timer: DispatchSourceTimer?
func startTimer() {
timer = DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.main)
timer?.schedule(deadline: .now(), repeating: 1.0)
timer?.setEventHandler {
// 在这里执行您的代码
}
timer?.resume()
}
func stopTimer() {
timer?.cancel()
timer = nil
}
}
在这两个示例中,startTimer()
方法用于启动计时器,stopTimer()
方法用于停止计时器。您可以根据需要选择其中一种方法来实现Cocoa应用程序的计时功能。
领取专属 10元无门槛券
手把手带您无忧上云