Ios 情节提要:根据条件执行一个序列

Ios 情节提要:根据条件执行一个序列,ios,storyboard,hierarchy,Ios,Storyboard,Hierarchy,我在故事板中设置了以下内容: 视图控制器 逻辑视图控制器 WebViewController 我有从VC到LIVC和WVC的模态分段。在VC的视图中,我运行一些代码来确定是否需要显示LIVC,如果不需要,则显示WVC。我通过调用此方法来完成此操作: - (void) pushToMainView : (NSString*) strSegue { if (self.didLoad) { [self performSegueWithIdentifier:strSegue

我在故事板中设置了以下内容:

视图控制器 逻辑视图控制器 WebViewController

我有从VC到LIVC和WVC的模态分段。在VC的视图中,我运行一些代码来确定是否需要显示LIVC,如果不需要,则显示WVC。我通过调用此方法来完成此操作:

- (void) pushToMainView : (NSString*) strSegue  {

    if (self.didLoad) {
        [self performSegueWithIdentifier:strSegue sender:self];
    }

}
如果出现LIVC,我需要做的是,登录验证后显示WVC。但是,我得到一个错误:

Attempt to present <WebViewController: 0x7a45ef90> on <ViewController: 0x78694bd0> whose view is not in the window hierarchy!
尝试显示不在窗口层次结构中的视图!

我认为这是因为当前堆栈顺序在VC层次结构中,LIVC是下一个。我怎样才能移除LIVC并引入WVC

控制器是否嵌入导航控制器?不,没有导航控制器。segue的类型是什么?它们是模态的。我解决了。因为我的层次结构是VC-->一些VC,所以我可以使用dismissViewControllerAnimated。这将viewcontroller属性presentedViewController设置为nil,并允许我随后呈现一个新的vc。我被卡住了,因为一个VC只能有一个PresentDVC,在我尝试演示另一个之前,我没有删除它。