如何更改故事板流程

How to change storyboard flow

我必须根据遗留应用程序中的故事板修改 ViewController 的显示流程。

假设情节提要显示屏幕如下:

screen A -> screen B -> screen C -> screen D

现在的修改是根据特定条件不应显示屏幕 C。比方说,如果条件为真,则显示屏幕 C,否则不显示,直接显示屏幕 D。

流程应该是:

                        /-------false--\ 
                       /                \
                      /   true           \
screen A -> screen B ---------> screen C ----> screen D

我在屏幕 B 和屏幕 D 之间创建一个 segue。如果条件为真,我什么都不做(显示屏幕 C,然后显示屏幕 D),如果条件为假,我在 ViewController 对于屏幕 B:

  performSegue(withIdentifier: "DirectlyDisplayScreenD", sender: self)

几乎可以正常工作...屏幕 C 显示半秒,然后显示屏幕 D。

我是 iOS 的初学者,我所做的至少在原则上是正确的吗?

短暂显示屏幕 C 是否有明显的原因?是因为故事板吗?或者调用 segue 是不够的?或者这是否意味着屏幕 C 的 ViewController 在代码中的某处实例化了?

是否有删除故事板的 ViewController 的方法?我找到方法 instantiateViewController 但我没有找到方法 "removeViewController"

我自己解决了这个问题。我删除了遗留的 segue 并重新构建了它,并注意给他起了个名字。之后应用程序按照我希望的流程进行。

感谢大家的建议!!