swift字符串转class

swift的类名完整表达为  命名空间(一般为工程名)+类名

因此若要通过字符串转换为对应的类型,可以分为以下几步

1.获取类名

let clsName = "MyClass"

2.获取命名空间

let nameSpage = Bundle.main.infoDictionary!["CFBundleExecutable"]

3.将命名空间与类名通过“.”链接

let childVcClass = NSClassFromString((nameSpage as! String) + "." + clsName)

4.将完整的类名指定为自己需要的类型

guard let childVcType = childVcClass as? UIViewController.Type else {

print("没有得到的类型")

return

}

5.使用得到的类型去创建对象

let vc = childVcType.init();

你可能感兴趣的:(swift字符串转class)