以编程方式初始化 ViewController

mod*_*usT 4 initialization uiviewcontroller swift

我正在尝试UIViewController在我的 Swift 应用程序中初始化 a但我面临一个我找不到任何明确答案的问题。

我想从 FlowCoordinator 调用它来初始化控制器,但是由于所需的 init?(coder: NSCoder) 函数,我的初始化器需要一个 NSCoder 对象。


MyAwesomeController()

Run Code Online (Sandbox Code Playgroud)

有没有办法以不同的方式初始化控制器,而无需传递NSCoder对象?

如果没有,我该如何创建这样的对象以避免以下异常:

'NSInvalidArgumentException',原因:'*** -decodeObjectForKey:无法发送到类 NSCoder 的抽象对象:创建一个具体实例!'

非常感谢您提前

J. *_*Doe 7

使用这样的东西,我也包含了一个属性作为演示:

class MyAwesomeViewController: UIViewController {
    let someInt: Int

    init(someInt: Int) {
        self.someInt = someInt

        super.init(nibName: nil, bundle: nil)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("Storyboard are a pain")
    }
}
Run Code Online (Sandbox Code Playgroud)

我喜欢以编程方式创建一切。