2017-02-04 4 views
3

Я использовал таймеры раньше, и они работали, но с тех пор, как NSTimer изменился на Timer, мои таймеры отказываются работать. Код, который я пробовал, выглядит следующим образом:Я не могу заставить мой Swift 3 Timer стрелять

override func viewDidLoad() { 
    super.viewDidLoad() 

    _ = Timer(timeInterval: 3, target: self, selector: #selector(test), userInfo: nil, repeats: true) 

} 

func test() { 
    print("The timer worked") 
} 

Контрольная функция никогда не вызывается, и я понятия не имею, почему. Я также попытался сначала инициализировать его и использовать его так:

var followUpTimer:Timer! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    followUpTimer = Timer(timeInterval: 3, target: self, selector: #selector(test), userInfo: nil, repeats: true) 

} 

func test() { 
    print("The timer worked") 
} 

Но это тоже не работает. Что я делаю не так? Все ответы, которые я нахожу в Интернете, показывают, что это правильный способ сделать это.

ответ

11

(NS)Timer Для правильной работы необходим цикл запуска. Вы можете добавить таймер программно в петлю, но удобнее использовать метод

Timer.scheduledTimer(withTimeInterval:... 
+0

Я был так близко. Спасибо. Я приму свой ответ, когда таймер закончится. –