Swift NSTimer didn't work

2019-06-13 16:24发布

I make a "Command Line Tool", and I need use NSTimer. I start the timer, but it doesn't work...

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) }

标签: swift nstimer
1条回答
淡お忘
2楼-- · 2019-06-13 17:18

NSTimer needs a run loop to work properly, a CLI doesn't have/need one by default.

Call

CFRunLoopRun()

to start the run loop and

CFRunLoopStop(CFRunLoopGetCurrent())

to stop it and don't forget to return appropriate return values.

查看更多
登录 后发表回答