2014-09-18 75 views
-1

嗨如果我在一個函數中聲明瞭NSTimer,但是希望在不同的函數中終止該計時器,我應該如何去做這件事?我知道這是一個非常新手的問題,但是當我在Swift中執行EnemySpawner1.invalidate時,它不會識別EnemySpawner1,因爲它在不同的函數中。任何想法,我應該如何去?在與計時器不同的函數中使NSTimer失效

var EnemySpawner1 = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("EnemySpawner1Method"), userInfo: nil, repeats: true) 

回答

1

如果你需要存儲超過一個功能的範圍,這個計時器的引用(這是有道理的),那麼你需要移動它的聲明範圍之內。可能有一些其他對象有意義持有對該計時器的引用。

編輯

此外,請記住,當你無效計時器,必須在同一個線程,因爲它創建完成。