开发中可能会经常遇到动态创建类的情况,有时候是根据服务器返回的字段进行处理,在OC中很简单,直接通过NSClassFromString方法即可,但是在Swift中,要加上命名空间才能够创建,具体如下:
1:命名空间的获取,这个要动态获取或者直接写死,直接写死的话,如果改了项目名字的话就不能用了,所以最好尽量动态获取,获取方法为:
let nameSpace = NSBundle,mainBundle().infoDictionary!["CFBundleExecutable"] as! String
2:拼接完整的字符串:
let clsName = nameSpace + "." + nameSpace;
3转化成类
let cls :AnuClass! = NSClassFromString("");
4:设定类型:
let vcCls = cls as!UIViewController.Type
5:创建类即可
let vc = vcCls.init();