2016-01-17 3 views
-1

В моем приложении я объявляю таймер:Почему NSTimer.scheduledTimerWithInterval() возобновляет, когда приложение становится активным?

entropy = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("tick"), userInfo: nil, repeats: true) 

Где энтропия:

var entropy: NSTimer 

Затем в ApplicationWillResignActive энтропия утратившими силу:

main.entropy.invalidate() 

Где главное,:

let main = ViewController() 

Но тогда, когда приложение становится активным, таймер возобновляется с того места, где он был последним, когда приложение ушло в отставку.

Что мне здесь не хватает?

С уважением, Brandon

+0

Где вы инициализируете таймер. Если инициализация таймера более одного раза, даже если у вас есть только один экземпляр, будут созданы временные таймеры, которые могут вызвать проблемы. – Varun

+0

Если текущий таймер недействителен до того, как новый будет инициализирован, это считается как несколько инициализаций? –

+0

Нет, но если энтропия инициализируется снова и снова, прежде чем аннулировать действие, то это создаст несколько экземпляров. Итак, где вы инициализировали энтропию? – Varun

ответ

0

Это было решение:

https://stackoverflow.com/a/27700746/4418557

В принципе, мне нужно, чтобы добавить наблюдателей на мой ViewController. Для получения дополнительной информации нажмите на ссылку выше.

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