通过自定义init方法从storyboard加载UIViewController

时间:2016-06-02 11:41:39

标签: ios swift uiviewcontroller

我有UIViewController的自定义初始化方法,我想从storyBoard加载它,因为只有XYZController()给出了空白视图。

convenience init() {
    self.init(imageURL: nil)
}

init(imageURL: NSURL?){
    //code to load the ViewController from StoryBoard
    super.init(nibName: nil, bundle: NSBundle.mainBundle())

}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)!
}

1 个答案:

答案 0 :(得分:0)

如果要从故事板加载视图控制器,那么您将不得不遵循略有不同的模式。

首先,在故事板中将segue命名为视图控制器(单击它,然后在属性选项卡中输入“标识符”的名称。

触发segue时,将调用prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)。您可以通过检查segue的标识符属性确保移动到相应的视图控制器,然后将segue的destinationViewController转换为您的XYZViewController。

之后,您应该能够调用设置功能,或者您想要将图像URL提供给控制器。