String->Class
Swift中引入了命名空间的概念,转Class需要拼接命名空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
@objc func OnClick(){
let vcNameString = "OneViewController" let clsName = Bundle.main.infoDictionary!["CFBundleExecutable"] as? String let className=clsName! + "." + vcNameString let classT = NSClassFromString(className)! as! UIViewController.Type URLRouter.shared.pushViewController(viewController:classT.init() , animated: true) }
|
- 注意
- Swift中引入了命名空间的概念,转Class需要拼接命名空间
- 这里的
UIViewController
强转必须带上.Type
,否则转换不成功