我要回过头来看一些狡猾的代码来整理它,我发现我一直保留从scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
返回的NSTimers并将它们存储在一个字段中 - 然后在它发射时释放并清空该字段。在某些情况下,我使用计时器稍后向其发送无效消息 - 但在许多情况下不是。
在最近的代码中,我通常只安排计时器而忘记它。我知道构造函数方法是自动释放的,并且运行循环在活动时保留计时器 - 所以我没有看到任何问题。
所以,只是为了理解我的理解 - 是否还有其他原因我应该坚持我的计时器,或者我现在正在做的是接受的成语?
这完全是在iPhone代码的背景下,但我不相信这是iPhone特有的。
答案 0 :(得分:3)
我只是让运行循环处理保留,我自己 - 这是拥有计时器而不是我的运行循环。如果你明白我的意思。
答案 1 :(得分:1)
我正在回答我自己的问题。
我主要是问这个问题,因为我一直在浏览课程参考文档,这个问题并没有真正说清楚。我已经读过ADC中的定时器编程主题:使用定时器一文,它很好地介绍了它 - 特别是关于内存管理的部分。
根据我现在正在做的事情(只是安排,除非我需要能够调用invalidate,或isValid等)是正确的方法。