Day Four 动态获取命名空间

2017-01-10  本文已影响10人  女山湖小伙子

<pre>
//默认情况下命名空间为项目名称,但是命名空间是可以修改的
let cls:AnyClass? = NSClassFromString("wangmeng." + childControllerName)
</pre>
修改方法如下:

8442F1AD-F373-40CF-82B0-3DA489078498.png

如何动态的获取命名空间?项目名称在info.plist中可以获取
<pre>
//获取命名空间
let ns = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String
</pre>

0145AD05-812B-4802-8F64-87D81F7BCDCF.png

<pre>
将字符串转为类
let cls:AnyClass? = NSClassFromString(ns + "." + childControllerName)
</pre>

<pre>
//通过类创建对象
//将Anyclass转换成指定类型
let vcCls = cls as! UIViewController.Type
//创建对象
let childController = vcCls.init()
</pre>

上一篇下一篇

猜你喜欢

热点阅读