根据后台的返回字段,创建不同的类,以满足动态界面的展示需求 分2种情况,一种是由后端穿字符串,转换原生类,一种是本地类 通用化转换 目前转换类有2个方法 classForCoder()和NSClassFromString() 第一种转换,自带命名空间,第二个单纯的类名 1、获取命名空间-CFBundleExecutable这个键对应的值就是项目名称,也就是命名空间 let nameSpace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String 2、转化: let classType:AnyClass? = NSClassFromString(nameSpace + "." + className) 如果是classForCoder()不需要以上操作 3、通过类创建对象 将anyClass转换为指定的类型 let viewController = classType as! UIViewController.Type 4、通过class创建对象 let vc = viewController.init() 至此完成