最近在项目中不同场景下使用了NSTimer,用来计时或者反复操作
但是返回上一层界面是,仅仅在dealloc方法中销毁,发现定时器依然存在,因为Controller根本没有被释放,dealloc方法根本不会调用。
解决方法之一:使用NSProxy来破坏循环引用
1. 创建WeakProxy类,继承自NSProxy
2. 设置一个NSObject属性
3. 实现.h中的方法
4. 重写方法
5. 在controller中调用
再次运行返回,执行dealloc方法!
最近在项目中不同场景下使用了NSTimer,用来计时或者反复操作
但是返回上一层界面是,仅仅在dealloc方法中销毁,发现定时器依然存在,因为Controller根本没有被释放,dealloc方法根本不会调用。
解决方法之一:使用NSProxy来破坏循环引用
1. 创建WeakProxy类,继承自NSProxy
2. 设置一个NSObject属性
3. 实现.h中的方法
4. 重写方法
5. 在controller中调用
再次运行返回,执行dealloc方法!