在Swift错误中以编程方式显示视图控制器

时间:2015-04-17 14:55:03

标签: ios swift

我尝试this solution但是我收到错误 AnyObject无法转换为'UIViewController'你的意思是使用'as!'迫使人垂头丧气?

我做错了什么?

我在LoginViewController viewDidLoad中调用以下代码,我检查用户是否已登录如果是,那么我想跳过登录视图并直接转到最新照片,这是FirstViewController ......

override func viewDidLoad() {
    super.viewDidLoad()

    if(defaults.objectForKey("loggedIn") != nil){
        let vc : UIViewController = self.storyboard?.instantiateViewControllerWithIdentifier("LatestPhotosView") as! UIViewController;
        self.presentViewController(vc, animated: true, completion: nil)
    }

}

1 个答案:

答案 0 :(得分:5)

自Swift 1.2起,您必须明确强制转换,将as更改为as!

这表明程序员可能会失败。这样可以降低代码中出错的可能性。

修改

您必须使用viewDidAppear:方法调用此方法,因为viewDidLoad()会失败(您的视图尚不存在)