我是swift编程的新手,我不知道如何定期调用方法。我有一个服务电话的演示应用程序,但我不知道如何定期调用它。
答案 0 :(得分:14)
你可以创建一个NSTimer()的对象,并在一定的时间间隔内调用一个函数,如下所示:
var updateTimer = NSTimer.scheduledTimerWithTimeInterval(15.0, target: self, selector: "callFunction", userInfo: nil, repeats: true)
这将每15秒调用一次callFunction()。
func callFunction(){
print("function called")
}
答案 1 :(得分:5)
这是一个带启动和停止功能的简单示例:
private let kTimeoutInSeconds:NSTimeInterval = 60
private var timer: NSTimer?
func startFetching() {
self.timer = NSTimer.scheduledTimerWithTimeInterval(kTimeoutInSeconds,
target:self,
selector:Selector("fetch"),
userInfo:nil,
repeats:true)
}
func stopFetching() {
self.timer!.invalidate()
}
func fetch() {
println("Fetch called!")
}
如果您收到unrecognized selector
例外,请确保您的班级继承自NSObject,否则计时器的选择器将无法找到该功能!
答案 2 :(得分:0)
雨燕4
let timer = Timer.scheduledTimer(withTimeInterval: 5, repeats: true) { (timer) in
print("I am called every 5 seconds")
}
不要忘记调用invalidate
方法
timer.invalidate()