1
我在我的主UIViewController(主菜单)上有几个按钮,它在主菜单的顶部创建并添加了一个子视图UIViewController。当我删除子视图时,该控制器的内存未被释放。我怎样才能立即释放子视图内存?iPhone - dealloc subview UIViewController removeFromSuperview
有没有人有一个例子?这将解决我所有的问题!提前致谢。
这是我如何添加一个子视图
if((UIButton *) sender == gameClassicBtn) {
GameClassic *gameClassicController = [[GameClassic alloc]
initWithNibName:@"GameClassic" bundle:nil];
self.gameClassic = gameClassicController;
[gameClassicController release];
[self.view insertSubview:gameClassicController.view atIndex:1];
}
我从来没有发布任何内容的主菜单代码......这是上面的代码所在。我不知道如何告诉那个文件,我从视图中删除了gameClassic.h。我通过[self.view removeFromSubview]移除了该子视图;为了回到我的主菜单。 – bbullis21 2009-09-21 17:17:41
基本上我的问题是我打电话通过单击主菜单按钮来插入子视图。短暂的游戏结束后,我执行removeFromSubview,该子视图中的内存不会立即释放。所以如果他们在主菜单上选择不同的按钮,它会加载另一个子视图,并且objectalloc会继续构建。 – bbullis21 2009-09-21 17:19:15
我暂时(强调暂时)重写你的GameClassic类中的retain和release,并在每个类中放置一个断点。这样你就可以看到你的实例被保留和释放的时间,从而可以找出需要删除多余ref的次数。 – fbrereto 2009-09-21 17:23:12