繁体   English   中英

解雇后,模态视图不会释放自身

[英]Modal View doesn't release itself after dismiss

我一直面临着一个怪异的问题,那就是放弃了模态视图。

我提出这样的模态视图:

 ResepiDetail *detail =(ResepiDetail*)[[ResepiDetail alloc]init];
 [self presentModalViewController:detail animated:YES]; 

然后使用后退按钮将其关闭:

[self dismissModalViewControllerAnimated:YES];

此后,视图将关闭自身并返回上一个视图,但不会从内存中释放自身。 我通过发送通知消息发现了该视图,并且该视图已收到它。 另外,我尝试跟踪VM内存分配,并且该视图似乎仍在内存中。

我正在使用ARC,并且使用与另一种视图完全相同的方法。

如前所述,代码很好,所以这里有一些提示如何进行:

肯定火的方式来肯定你的视图控制器还没有被释放是重写的dealloc和日志的东西识别。 您仍然可以在ARC中做到这一点,只是不必显式调用super 如果您没有看到期望的日志,则说明存在问题。

假设您确定确实有问题,那么问题就变成了发现保留周期。 如果问题是ResepiController的实例没有被取消分配,那么您需要寻找...

  1. ResepiController类之外的任何ResepiControllerstrong引用的代码。 例如,如果您的班级注册为其他班级的委托,请确保该委托未使用strong引用。
  2. 任何可能隐式保留了self内部块。 在您认为应该发布的控制器中,程序中是否有任何块可能引用了您的控制器?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM