Swift 動態(tài)創(chuàng)建ViewController

class ViewControllerHelper: NSObject {
    
    /// 通過ClassName動態(tài)創(chuàng)建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.將控制器的字符串轉(zhuǎn)成控制器類型
        let classFromStr: AnyClass? = NSClassFromString(namespace + "." + className)
        let viewControllerClass = classFromStr as! UIViewController.Type
        // 1.創(chuàng)建控制器對象
        let viewController = viewControllerClass.init()
        
        return viewController;
        
    }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容