2015-08-21 54 views
0

我做一个“命令行工具”,我需要使用的NSTimer。 我开始计时,但它不工作...斯威夫特的NSTimer没有工作

import Foundation 

class ct : NSObject { 
    func start() { 
     var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("update"), userInfo: nil, repeats: true) 
    } 

    func update() { 
     println("test timer"); 
    } 
} 
var a = ct(); 
a.start() 

while(true) { sleep(10000000) } 
+0

尽量使定时器类的成员来代替。 – molbdnilo

+0

你能举个例子吗? – zig1375

+0

var timer:NSTimer?上述启动功能,然后在启动功能做这样的时间= NSTimer.scheduledTimerWithTimeInterval(0.4,目标:自我,选择:选择(“更新”),用户信息:无,重复:真),如果IFS没有工作尝试将其添加到currentRunloop –

回答

1

NSTimer需要一个运行循环正常工作,一个CLI没有/需要一个默认。

呼叫

CFRunLoopRun() 

开始运行循环和

CFRunLoopStop(CFRunLoopGetCurrent()) 

阻止它,不要忘了要返回适当的返回值。