Swift打开一个新的视图控制器programaticaly

时间:2015-07-01 15:47:02

标签: ios xcode swift

我正在锻炼应用程序。现在我完成了所有事情我已经陷入了细节。 因此,当我的锻炼结束时,它需要打开一个新的视图控制器,告诉用户他完成了锻炼。 我试图用这段代码来做:

var storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    //var vc: UINavigationController = storyboard.instantiateViewControllerWithIdentifier("newViewController") as! UINavigationController

    var vc: EndOfWorkout = storyboard.instantiateViewControllerWithIdentifier("newView") as! EndOfWorkout

    self.presentViewController(vc, animated: true, completion: nil)

但它有时打开,有时不打开。当它打开时,它会在很短的时间后关闭。 我最后还需要用户能够返回到主菜单,但我尝试的示例中没有。 谢谢你希望有人能帮助我:D

1 个答案:

答案 0 :(得分:-1)

您的vc变量可能会被ARC破坏,请尝试在控制器的属性中设置此实例。

类似的东西:

class MainViewController: UIViewController{

     private var vc: EndOfWorkout?

     override func viewDidLoad() {
     ...
         vc = storyboard.instantiateViewControllerWithIdentifier("newView") as! EndOfWorkout
     }

}