iOS 总结viewcontroller中没有调用dealloc

2018-12-07  本文已影响0人  BU二先森

在退出这个viewcontroller的时候,系统不调用dealloc方法,造成情况的根本原因就是viewcontroller有强引用无法释放。

1、可能是VC中有代理Delegate,设置week弱引用修饰。

@property (nonatomic,weak) id<robotDelegate>delegate;

2、VC中有block方法,造成嵌套循环引用,VC无法释放

另外如果存在定时器NSTimer,也会造成这种情况,定时器结束定时,一定要置空。

[self.timer invalidate];

self.timer = nil;

上一篇 下一篇

猜你喜欢

热点阅读