Day Four 动态获取命名空间


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

修改方法如下:

Day Four 动态获取命名空间_第1张图片
8442F1AD-F373-40CF-82B0-3DA489078498.png

如何动态的获取命名空间?项目名称在info.plist中可以获取


//获取命名空间
let ns = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String

Day Four 动态获取命名空间_第2张图片
0145AD05-812B-4802-8F64-87D81F7BCDCF.png


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


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

你可能感兴趣的:(Day Four 动态获取命名空间)