在swift中定期拨打服务电话

时间:2014-07-31 09:53:53

标签: ios iphone swift

我是swift编程的新手,我不知道如何定期调用方法。我有一个服务电话的演示应用程序,但我不知道如何定期调用它。

3 个答案:

答案 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()