我希望从UIViewController类型创建一个具体的类,像这样

 func create(with type : UIViewController.Type)->UIViewController{
       return type.init(coder: NSCoder())!
    }


显然,UIViewController的指定初始化程序仅是init(coder:NSCoder)。而且,当我尝试传递NSCoder()时(如上述情况所示),该应用程序崩溃了。

有谁知道从其类型创建UIViewController具体类的更好解决方案?还是在这种情况下我传递了错误的NSCoder?

最佳答案

代码完成不显示此选项,但是可以编译并运行而不会出现问题:

func create(with type : UIViewController.Type) -> UIViewController {
    return type.init()
}

10-08 06:57
查看更多