【发布时间】:2010-10-24 08:30:36
【问题描述】:
我有一个带有单独 UIViewController 和 xib 的多视图应用程序。我有一个视图是游戏视图,每次我调用它时我都希望它重新初始化,我的意思是在它的初始条件下重新启动,而不是在我上次离开它的状态。
这是我用来加载和删除视图的代码块:
-(void)loadStartViewController {
[currentView.view removeFromSuperview];
StartViewController *startViewController = [[StartViewController alloc] initWithNibName:@"StartView" bundle:nil];
[window addSubview:startViewController.view];
currentView = startViewController;
}
我应该在这里更清楚。我有一个 UIViewController 和一个 xib,它们在玩游戏时构成视图。他们调用 UIView 中的方法以编程方式绘制视图。游戏结束时我离开 UIViewController 并进入得分屏幕。我想让用户重新启动并回到游戏中,IE 用上面的代码加载 UIViewController 但从一个新游戏开始,所有设置都在调用的方法中。我可以设置一个变量并在 UIViewControllers 之间传递它,但我可能有一个命令可以让我重置游戏 UIViewController,因此它不会记住任何关于上一场游戏结束时的状态。
为了让它工作,我编写了一个方法来重置 UIView 中绘制游戏屏幕的所有变量,并在 viewDidLoad 部分的 UIViewController 中调用该方法。
【问题讨论】:
标签: iphone cocoa-touch memory-management uiviewcontroller