我一直试图让这些代码的变体运行,但countItems()
永远不会打印出NSLog
。有人能告诉我出了什么问题吗?
func someFunction() {
var fireDate = NSDate(timeIntervalSinceNow: 5)
someTimer = NSTimer(fireDate: fireDate, interval: 120, target: self, selector: "countItems", userInfo: nil, repeats: true)
}
func countItems() {
NSLog("countItems")
//Perform some code here...
}
答案 0 :(得分:2)
尝试阅读文档!没关系。您已经创建了计时器,但在运行循环中从未计划。所以它什么都不做。文档清楚地说:
您必须使用
addTimer:forMode:
将新计时器添加到运行循环中。
嗯,你没有。
你可能会更喜欢这样:
NSTimer.scheduledTimerWithTimeInterval(
120, target: self, selector: "countItems", userInfo:nil, repeats:true)
答案 1 :(得分:1)
添加fire():
func someFunction() {
var fireDate = NSDate(timeIntervalSinceNow: 5)
someTimer = NSTimer(fireDate: fireDate, interval: 120, target: self, selector: "countItems", userInfo: nil, repeats: true)
someTimer.fire()
}
或者它不会开始:Documentation