3

我一直在寻找一种方法来实例化未附加到情节提要或 xib 文件的自定义 UIViewController 类。

自然,当我尝试初始化 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)
    }
}

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

1

init(coder aDecoder: NSCoder)仅在从情节提要中实例化视图时才调用。要创建自定义 UIViewController 并手动实例化,您需要做的就是添加:

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

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

于 2015-02-26T19:04:34.350 回答