我希望从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()
}