<pre>
//默认情况下命名空间为项目名称,但是命名空间是可以修改的
let cls:AnyClass? = NSClassFromString("wangmeng." + childControllerName)
</pre>
修改方法如下:
如何动态的获取命名空间?项目名称在info.plist中可以获取
<pre>
//获取命名空间
let ns = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String
</pre>
<pre>
将字符串转为类
let cls:AnyClass? = NSClassFromString(ns + "." + childControllerName)
</pre>
<pre>
//通过类创建对象
//将Anyclass转换成指定类型
let vcCls = cls as! UIViewController.Type
//创建对象
let childController = vcCls.init()
</pre>
网友评论