在没有故事板或xib文件的情况下实例化UIViewController

时间:2015-02-26 18:51:02

标签: swift uiviewcontroller initialization xcode6 nscoder

我一直在寻找一种实例化自定义UIViewController类的方法,该类未附加到storyboard或xib文件。

当然,当我尝试初始化UIViewController时,它期待一个NSCoder对象。

但是我不知道这个NSCoder对象来自何处或如何正确地制作它。文档说它是一个接口声明对象。

你知道如何创建一个NSCoder对象,让我初始化我的UIViewController,或者我可以获取的应用程序中是否有一个NSCoder对象?

public class Controller:UIViewController, UIAlertViewDelegate
{
    var _viewAuto:AutoUI! //newName

    override init()
    {
        super.init()
    }

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

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

只有在从故事板中实例化视图时才会调用{p> init(coder aDecoder: NSCoder)。要创建自定义UIViewController并手动实例化,您只需添加:

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

到自定义视图控制器。现在,您可以自由地创建自己的初始化方法,并将其传递给您喜欢的任何变量。