2015-08-21 2 views
0

Я делаю «Инструмент командной строки», и мне нужно использовать NSTimer. я запустить таймер, но он не работает ...Swift 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, target: self, selector: Selector ("update"), userInfo: nil, repeatts: true), если ifs not working попытается добавить его в currentRunloop –

ответ

1

NSTimer нужен цикл выполнения, чтобы работать должным образом, CLI не имеет/нужен по умолчанию.

Вызов

CFRunLoopRun() 

, чтобы начать цикл выполнения и

CFRunLoopStop(CFRunLoopGetCurrent()) 

, чтобы остановить его и не забудьте вернуть соответствующие возвращаемые значения.

Смежные вопросы