视图将消失不发射

时间:2011-09-02 05:56:14

标签: iphone audio viewwillappear

我使用addSubView方法添加视图。是否有任何替代方法用于viewWillDisappear? viewWillDisappear没有触发。我希望在当前视图消失时释放所有已分配的对象。目前我正在使用dealloc方法来做到这一点。但dealloc方法不会很快发射。由于我正在进行内存警告,有时我的应用程序可能会崩溃。主要问题是语音文件。

3 个答案:

答案 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的原因。