[警惕]iOS Timer中的坑

312 阅读1分钟

今天应公司产品需求,写了一个倒计时弹幕的功能。里面应用到了 NSTimer,后来发现该类未走 dealloc 方法。本着以前的经验,不走 dealloc 方法的三大原因:①NSTimer 未销毁 ②block 块使用不当 ③控制器的代理属性没有用弱引用。定位一番,找到了原因,忘了写销毁 timer 的方法。下面是初始化 timer 循环调用的方法。

正确的销毁姿势:应该在 viewWillDisappear 里面调用销毁 timer 代码。

关于 Timer 更深层次的讨论,可以参考这篇博客 www.jianshu.com/p/330d73103… ,写的比较深入。