基于条件的视图控制器之间的争用

时间:2018-02-18 22:31:13

标签: ios swift

我是一名新的iOS开发人员,我正在编写一个涉及用户登录的应用程序。基本上,我想根据后端的条件设置用户看到的下一个视图。(此问题的条件部分已经解决,我通过Alamofire http get请求成功接收了数据)

我的问题是,如果我想从一个视图控制器转到另一个视图控制器,它是否必须是顺序的?我创建了两个从初始视图控制器到两个独立视图控制器的segue。但是,如果我尝试segue到视图控制器(之后不是顺序),我收到以下错误:

libc ++ abi.dylib:以NSException类型的未捕获异常终止

实施我想要做的事情的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

当然你无法顺利查看一个不顺序的视图控制器,解决问题的更好方法是在想要加载任何视图控制器时将初始VC嵌入到navigationController中,你可以这样做

  let vc = self.storyboard?.instantiateViewController(withIdentifier: "anotherView")
  self.navigationController?.pushViewController(vc!, animated: true)

其中identifier是您要在上面显示的VC中显示的故事板ID anotherView 这是你设置它的地方

enter image description here

答案 1 :(得分:0)

我不太懂英语,但我认为这意味着你想要改变视图序列和rootController。

当用户未登录时,rootController将被标记为初始。

登录后,我们需要通过启动第一个控制器将rootController更改为新的视图序列。

类似的东西。

    if(uselogin)
    {
        var delegete = UIApplication.shared.delegate as! AppDelegate
        delegete.window?.rootViewController = newViewController
        presentViewController
    }