美文网首页
Swift 如何根据字符串转换成控制器

Swift 如何根据字符串转换成控制器

作者: 小行为 | 来源:发表于2016-05-03 10:43 被阅读381次

    首先我们先获取命名空间
    let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String
    首先命名空间从info.plist里面查找


    屏幕快照 2016-05-03 下午2.07.51.png 屏幕快照 2016-05-03 下午2.08.00.png

    根据命名空间传来的字符串先转换成anyClass
    let cls:AnyClass = NSClassFromString(namespace + "." + childControllerName)! 【注:“ !”为非空,代表这里面不能为空,Swift就这点比较操蛋...有些必须选择是否为空,不像oc编译器不报错】

    再次 根据这个常量转换成控制器
    let vcCls = cls as! UIViewController.Type【注:as! 我就不介绍了 Type呢 我们稍微讲下 首先你是点不进去查看不了API的,那这个是起什么作用的呢? 你们可以搜搜,其实他就是告诉cls 是UIViewController这个类型】
    控制器有了 那就初始化吧
    let vc = vcCls.init()
    这样控制器就创立成功了 大家试试吧..

    相关文章

      网友评论

          本文标题:Swift 如何根据字符串转换成控制器

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