//动态获取命名空间(CFBundleExecutable这个键对应的值就是项目名称,也就是命名空间)
let nameSpace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String
//将字符串转化为类
//默认情况下,命名空间就是项目名称,但是命名空间是可以修改的
let cls:AnyClass? = NSClassFromString(nameSpace + "." + viewControllerName)
//通过类创建对象
//将anyClass转换为指定的类型
let viewControllerCls = cls as! UIViewController.Type
//通过class创建对象
let vc = viewControllerCls.init()
原文链接:https://www.f2er.com/swift/324238.html