3

为了测试和编写代码,我需要重新启动我的 GameViewContrller

GameViewController *controller = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil];
[self presentModalViewController:controller animated:NO];

此方法重新启动 viewController 但由于我的操作/进程正在进行而全部存储在内存中,因为应用程序内存随着每次不重新启动而增加。我认为这不是正确的方法,并且想知道如何用内存完全使 viewController 负担过重,删除所有进程并重新开始。

更新

- (IBAction)restartButtonPress {
  //  GameViewController *controller = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil];
  //  [self presentModalViewController:controller animated:NO];

[self.view setNeedsDisplay];
}
4

2 回答 2

2

调用[self.view setNeedsDisplay];该用途以重新加载您的视图。还可以使用[self viewDidLoad]方法,但这对我们不利,而且我们不会手动调用 viewDidLoad。所以你可以使用setNeedsDisplay.

于 2013-03-23T10:46:53.853 回答
0

这只会开始一个新的。它不会重置旧的。

要删除旧的,您需要调用[controller release]旧的。

于 2013-03-23T10:45:25.667 回答