在我的视图控制器中,根据特定的if条件,我想自动移动到下一个视图控制器。我试过这段代码。但它不会起作用。请帮忙。
if rightCounter == 5 {
var Level2 = self.storyboard?.instantiateViewControllerWithIdentifier("Level2") as? ViewController
self.presentViewController(Level2!, animated: true, completion: nil)
}
}
答案 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。
希望它有所帮助。
答案 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 时调用,即使设置为与当前值相同的值。