我有这个,但似乎过于复杂:
var connectionTimer = MZTimerLabel(timerType: MZTimerLabelTypeTimer)
connectionTimer.delegate = self
connectionTimer.tag = 0
connectionTimer.setCountDownTime(5)
connectionTimer.start()
func timerLabel(timerLabel: MZTimerLabel!, finshedCountDownTimerWithTime countTime: NSTimeInterval) {
self.callFinished()
}
答案 0 :(得分:5)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC), dispatch_get_main_queue()) {
self.callFinished()
}
这是令人敬畏的多功能库Grand Central Dispatch的一部分,它不仅可以执行延迟,还可以执行各种并发操作,您几乎肯定会遇到漏洞!幸运的是,因为在你的情况下你正在回调主队列,你的代码都不会同时执行,因此在这种情况下没有什么可担心的。
答案 1 :(得分:-1)
试试这个
let delayTimer = NSTimer.scheduledTimerWithTimeInterval(5.0, target: self, selector: Selector("delayed"), userInfo: nil, repeats: false)
func delay() { println ("hi") }
五秒后它会调用delay
。