今天改版了一个旧的页面,但是测试的时候发现没有改版的一个功能竟然失效了,测试发现是因为该控制器POP的时候,dealloc方法没有调用,导致数据没有被重置。
上网一查,控制器不走dealloc方法的原因大概有以下几种,归纳了一下,以备不时之需~
- ViewController中存在NSTimer
计时器是否销毁; - ViewController中有关的代理
要记住delegate的属性应该是assign哦,快看看你是否写成了retain呢; - ViewController中有Block
block的循环引用你是否有呢,快检查一下吧,我的就是使用RAC时block里出现了循环引用的问题,修改好了之后,马上OK~;
若有错误,请批评指正~