美文网首页
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