Ios 关闭上一个Viewcontroller

Ios 关闭上一个Viewcontroller,ios,segue,viewcontroller,Ios,Segue,Viewcontroller,我目前正在开发一款具有多个viewcontroller的游戏。 VC1(简介)->VC2(游戏选择)->VC3、VC4、VC5(游戏)->VC6(显示标记) 所有的箭头都是模态序列 我使用unwind segue从VC6返回到VC2,并希望重播。但是,当选择一个游戏转到VC3时,VC3并不像预期的那样是全新的。它显示为已完成的游戏条件 如果我真的想在显示标记后重播,我如何使用segue和Viewcontroller实现这一点 此外,如何完全删除以前的viewcontroller实例?您可以像这样

我目前正在开发一款具有多个viewcontroller的游戏。 VC1(简介)->VC2(游戏选择)->VC3、VC4、VC5(游戏)->VC6(显示标记)

所有的箭头都是模态序列

我使用unwind segue从VC6返回到VC2,并希望重播。但是,当选择一个游戏转到VC3时,VC3并不像预期的那样是全新的。它显示为已完成的游戏条件

如果我真的想在显示标记后重播,我如何使用segue和Viewcontroller实现这一点


此外,如何完全删除以前的viewcontroller实例?

您可以像这样操作导航控制器的view controller数组

NSMutableArray *navigarray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
[navigarray removeLastObject]; //navigarray contains all vcs
[[self navigationController] setViewControllers:navigarray animated:YES];

您可以回到
parentViewController
链:

UIViewController *viewController = nil;
do {
    viewController = self.parentViewController;
} while (![self isViewControllerImLookingFor:viewController]);

或者,您可以实现自定义导航堆栈管理器,并存储导航控制器数组,类似于
UINavigationController
的做法。

我没有使用导航控制器。并非所有viewcontroller都是导航。