@interface AVIEwController (){ BVIEwController *bVC;}@end
然后推
- (voID)push { bVC = [[BVIEwController alloc] init]; [self.navigationController pushVIEwController:bVC animated:YES];}
d出BVIEwController时不会调用Dealloc方法.
两个视图控制器几乎都是空的,我的意思是没有NSTimers,块或网络请求.
我想AVIEwController中存在一个强引用循环,但无法弄清楚循环.
所以,有人可以帮我解决这个问题,谢谢!
解决方法 这是基本的存储器管理101.只有在没有对该对象的强引用之后才会释放对象.
您的ivar bVC强烈引用了视图控制器.推动它增加另一个.然后你d出它,它回到bVC的一个强引用.所以它没有被解除分配.
您可以避开ivar或在某些时候将其设置为nil,以便可以取消分配视图控制器.
总结以上是内存溢出为你收集整理的ios – 推送viewcontroller这是一个实例变量,d出时不会调用dealloc方法全部内容,希望文章能够帮你解决ios – 推送viewcontroller这是一个实例变量,d出时不会调用dealloc方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)