开发中可能会经常遇到动态创建类的情况,有时候是根据服务器返回的字段进行处理,在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();
本文介绍了在iOS开发中如何使用Swift动态创建类,特别是在需要根据服务器返回的字段处理时。首先,获取命名空间,通常通过NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"]获取。接着,拼接命名空间和类名字符串,然后利用NSClassFromString将字符串转化为类。最后,指定类型并初始化类实例。
3981

被折叠的 条评论
为什么被折叠?



