Swift 动态创建ViewController

时间:2022-07-22
本文章向大家介绍Swift 动态创建ViewController,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
class ViewControllerHelper: NSObject {
    
    /// 通过ClassName动态创建ViewController
    /// - Parameter className: calssName
    /// - Returns: ViewController
   class func getViewControllerWithCalssName(_ className: String) -> UIViewController {
        
        // 准备工作: 命名空间: 必须指定那个bundle(包)
        // 从Info.plist中获取bundle的名字
        let namespace = Bundle.main.infoDictionary!["CFBundleName"] as! String
        // 0.将控制器的字符串转成控制器类型
        let classFromStr: AnyClass? = NSClassFromString(namespace + "." + className)
        let viewControllerClass = classFromStr as! UIViewController.Type
        // 1.创建控制器对象
        let viewController = viewControllerClass.init()
        
        return viewController;
        
    }

}