我总是有一个类需要设置一个计时器,只要对象是活着的。通常是一个做一些动画的UIView。如何以正确的方式创建计时器?
现在的问题:如果我强烈引用NSTimer创建并在-dealloc中释放定时器,则定时器永远不会失效或释放,因为-dealloc从不调用,因为运行循环保持对目标。那么我能做什么?如果我不能持有强大的计时器对象,这也是不好的,因为可能我需要一个引用来阻止它。一个对象的弱引用并不好,因为也许我会在它消失时访问它。所以最好留一些我想保留的东西。
你们是怎么解决这个问题的?超级视图必须创建计时器吗?那个更好吗?或者我真的应该只是做一个弱引用,并记住运行循环对我的定时器有很强的参考,只要它没有失效?