在目标C/iOS中;
我们有一个与此类似的过程(在 xcode 故事板中设置(;
菜单视图控制器 -> 输入代码 -> 处理/验证 -> 显示失败的代码页
(->(箭头表示情节提要中的push
当处于失败状态时,我想弹出Enter in a code
视图控制器。
UIViewController *vc = nil;
NSUInteger index=0;
for (UIViewController *viewController in self.navigationController.viewControllers) {
if ([viewController isKindOfClass:[SomeViewController class]]) {
vc = viewController;
break;
}
index++;
}
if (vc) {
dispatch_async(dispatch_get_main_queue(), ^(void) {
[self.navigationController popToViewController:vc animated:YES];
});
return;
}
这让我回到了我想去的VC。
除了现在当我在Enter code
页面上按下提交时,它会再做 3 或 4 次"推送",而它应该只有 1 次。
我需要解除续集吗? 我尝试清空导航视图控制器堆栈,甚至尝试将其从最后一个活动视图控制器中删除 - 两者都返回空白或黑色窗口视图框架。
为什么在导航堆栈中弹出视图控制器会影响我的视图控制器中的 segue,以至于每当我尝试执行push segue
操作时,它都会尝试将多个视图控制器推送到堆栈上?
原来我遇到了以下问题
按下按钮会导致情节提要中的 segue 操作我在按钮上的代码中执行了相同的 segue 操作,因此多次按下
我现在已经解决了这个问题