嗨如果我在一个函数中声明了NSTimer,但是希望在另一个函数中终止该Timer,我应该怎么做呢?我知道这是一个非常新手的问题但是当我在swift中执行EnemySpawner1.invalidate时,它不能识别EnemySpawner1,因为它处于不同的功能中。任何想法我应该怎么做?
var EnemySpawner1 = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("EnemySpawner1Method"), userInfo: nil, repeats: true)
答案 0 :(得分:1)
如果您需要将对此计时器的引用存储在一个函数的范围之外(这是有意义的),那么您需要将其声明移到该范围之外。可能在某些其他对象上有意义地保持对该计时器的引用。
修改
另外,请记住,当您使计时器无效时,必须在创建它的同一个线程上完成。