我正在使用我的应用程序委托在视图控制器之间转换。当委托人决定不再需要视图控制器时,根据来自服务器的消息,它需要删除当前视图并将其替换为另一个视图。目前,我的代码如下所示:如何删除不再需要的视图控制器?
- (void) showFight: (NSNotification*) notification
{
if(self.window.rootViewController != self.fightViewController)
{
NSDictionary* dict = [notification userInfo];
FightViewController *fightView = [[FightViewController alloc]
initWithNibName:@"FightViewController" bundle:nil];
fightView.userId = _userId;
self.fightViewController = fightView;
[fightView release];
[self.radarViewController.view removeFromSuperview]; // Doesn't work.
self.window.rootViewController = self.fightViewController;
[self.fightViewController showMonster:dict];
}
}
我知道我的视图控制器没有被删除,因为我可以听到它在后台的声音效果。
我想彻底销毁视图控制器,因为我只想随时在内存中使用一个视图控制器。我打算每次从头开始创建视图控制器,如上面的代码所示。我做得不对吗?
self.myViewController = nil破坏内存中的VC,除非没有其他保留的引用 – Felix 2011-04-28 14:00:30