我使用addSubView方法添加视图。是否有任何替代方法用于viewWillDisappear? viewWillDisappear没有触发。我希望在当前视图消失时释放所有已分配的对象。目前我正在使用dealloc方法来做到这一点。但dealloc方法不会很快发射。由于我正在进行内存警告,有时我的应用程序可能会崩溃。主要问题是语音文件。
答案 0 :(得分:1)
addSubview / removeFromSuperview(这些方法与视图不相关的视图控制器)不会调用viewWillAppear / viewWillDisappear方法。您应该在dealloc()本身中编写发布对象代码 removeFromSuperview应该调用dealloc()。
答案 1 :(得分:0)
您可以尝试方法release
中的viewDidDisappear
个对象。然后你不会等待触发方法dealloc
。
同样在方法viewDidDisappear
中,您可以尝试从超级视图中删除所有子视图(将viewWillDisappear
调用到所有子视图):
NSArray *subviews = [self.view subviews];
for (UIView *view in subviews)
[view removeFromSuperview];
答案 2 :(得分:0)
在viewDidUnload / viewDidDisappear中释放对象并在dealloc中设置为nil
这可能会有效,但您一定要查看未调用viewWillDisappear的原因。