我正在使用 addSubView 方法添加视图。viewWillDisappear 是否有任何替代方法?viewWillDisappear 没有触发。我想在当前视图消失时释放所有分配的对象。目前我正在使用 dealloc 方法来做到这一点。但是 dealloc 方法不会很快触发。由于我收到内存警告,有时我的应用程序可能会自行崩溃。主要问题是语音文件。
问问题
2988 次
3 回答
1
addSubview/removeFromSuperview(这些方法与视图相关,而不是视图控制器)不调用 viewWillAppear/viewWillDisappear 方法。您应该在 dealloc() 本身中编写发布目标代码。
removeFromSuperview 应该调用 dealloc()。
于 2011-09-02T06:22:23.103 回答
0
在 viewDidUnload/viewDidDisappear 中释放对象并在 dealloc 中设置为 nil
这可能有效,但您肯定应该看看为什么 viewWillDisappear 没有被调用。
于 2011-09-02T06:12:58.127 回答
0
您可以尝试release
方法中的对象viewDidDisappear
。然后你就不会等待触发方法dealloc
。
同样在方法中viewDidDisappear
,您可以尝试从超级视图中删除所有子视图(这将调用viewWillDisappear
所有子视图):
NSArray *subviews = [self.view subviews];
for (UIView *view in subviews)
[view removeFromSuperview];
于 2011-09-02T06:04:52.903 回答