如果您不需要使其无效,是否有任何理由保留预定的NSTimer?

时间:2009-03-02 16:45:19

标签: cocoa macos nstimer

我要回过头来看一些狡猾的代码来整理它,我发现我一直保留从scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:返回的NSTimers并将它们存储在一个字段中 - 然后在它发射时释放并清空该字段。在某些情况下,我使用计时器稍后向其发送无效消息 - 但在许多情况下不是。

在最近的代码中,我通常只安排计时器而忘记它。我知道构造函数方法是自动释放的,并且运行循环在活动时保留计时器 - 所以我没有看到任何问题。

所以,只是为了理解我的理解 - 是否还有其他原因我应该坚持我的计时器,或者我现在正在做的是接受的成语?

这完全是在iPhone代码的背景下,但我不相信这是iPhone特有的。

2 个答案:

答案 0 :(得分:3)

我只是让运行循环处理保留,我自己 - 这是拥有计时器而不是我的运行循环。如果你明白我的意思。

答案 1 :(得分:1)

我正在回答我自己的问题。

我主要是问这个问题,因为我一直在浏览课程参考文档,这个问题并没有真正说清楚。我已经读过ADC中的定时器编程主题:使用定时器一文,它很好地介绍了它 - 特别是关于内存管理的部分。

根据我现在正在做的事情(只是安排,除非我需要能够调用invalidate,或isValid等)是正确的方法。