我有一个根视图控制器,用作菜单。当一个项目被选中时,它会以模态方式呈现一些全屏数据。当点击后退按钮时,将执行以下代码:
在 BoardViewController.m 中:
- (IBAction)menuButtonPressed:(id)sender
{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
它很好地带回了主菜单。但在此之后,我想销毁被解雇的视图控制器(比如当你使用推送/弹出视图控制器时)。我不存储它们的任何引用,但它们在解雇后仍然存在。我该如何解决?(使用 ARC。)
编辑
在 AppDelegate.m 中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
MenuViewController *menuVC = [[MenuViewController alloc] init];
self.window.rootViewController = menuVC;
...
}
在 MenuViewController.m 中:
- (IBAction)newGame:(id)sender
{
BoardViewController *boardVC = [[BoardViewController alloc] init];
boardVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:boardVC animated:YES completion:nil];
}
编辑 2
好吧,一个非弱委托属性导致了这个问题。谢谢大家!