今天应公司产品需求,写了一个倒计时弹幕的功能。里面应用到了NSTimer,后来发现该类未走dealloc方法。本着以前的经验,不走dealloc方法的三大原因:①NSTimer未销毁 ②block块使用不当 ③控制器的代理属性没有用弱引用。定位一番,找到了原因,忘了写销毁timer的方法。下面是初始化timer循环调用的方法。
正确的销毁姿势:应该在viewWillDisappear里面调用销毁timer代码。
关于Timer更深层次的讨论,可以参考这篇博客 http://www.jianshu.com/p/330d7310339d ,写的比较深入。
网友评论