美文网首页
swift 根据字符串创建类

swift 根据字符串创建类

作者: 蜜语酸橙 | 来源:发表于2018-04-02 11:38 被阅读15次

根据后台的返回字段,创建不同的类,以满足动态界面的展示需求
分2种情况,一种是由后端穿字符串,转换原生类,一种是本地类 通用化转换

目前转换类有2个方法 classForCoder()和NSClassFromString()
第一种转换,自带命名空间,第二个单纯的类名

1、获取命名空间-CFBundleExecutable这个键对应的值就是项目名称,也就是命名空间

let nameSpace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String

2、转化:
let classType:AnyClass? = NSClassFromString(nameSpace + "." + className)

如果是classForCoder()不需要以上操作

{
    var classType:AnyClass?
    ---------------------------------
    Item.classType = TestController.classForCoder()
    打印Item.classType ,
    输出为:"项目名.TestController"
}

3、通过类创建对象 将anyClass转换为指定的类型
let viewController = classType as! UIViewController.Type

4、通过class创建对象
let vc = viewController.init()

至此完成

相关文章

网友评论

      本文标题:swift 根据字符串创建类

      本文链接:https://www.haomeiwen.com/subject/igbthftx.html