如何使用Swift中特定条件的代码从一个视图控制器移动到另一个视图控制器?

时间:2015-08-15 23:41:54

标签: ios swift

在我的视图控制器中,根据特定的if条件,我想自动移动到下一个视图控制器。我试过这段代码。但它不会起作用。请帮忙。

if rightCounter == 5 {

        var Level2 = self.storyboard?.instantiateViewControllerWithIdentifier("Level2") as? ViewController
        self.presentViewController(Level2!, animated: true, completion: nil)
    }

}

2 个答案:

答案 0 :(得分:0)

    if condition == true {
        //use either VC Name associate or the Storyboard restoration id
        //replace this with yours 
        if let Level2 = self.storyboard!.instantiateViewControllerWithIdentifier("MainVC") as? UIViewController
        {
            self.presentViewController(Level2, animated: true, completion: nil)
        }


    }

我认为问题在于你试图将另一个VC转换为ViewController,我认为这是你想要的一个。

确保拥有故事板ID,并且您可以键入UIViewController的大小写为广义或特定的VC。

enter image description here

希望它有所帮助。

答案 1 :(得分:0)

如果您想要发布条件语​​句的自动执行,您可以将代码放在 rightCounter 的属性观察器中。

声明 rightCounter 的地方更改其声明以包含属性观察者。

示例可以是 -

var rightCounter: Int = 0 {
     didSet {
      if rightCounter == 5 {
            var Level2 = self.storyboard?.instantiateViewControllerWithIdentifier("Level2") as? ViewController
            self.presentViewController(Level2!, animated: true, completion: nil)
            }
      }
}

使用上面的代码 didSet 将在每次设置 rightCounter 时调用,即使设置为与当前值相同的值。