swift3.0 类字符串转类(字符串转ViewController)


//MARK: -- 根据类文件字符串转换为ViewController
extension ThirdViewController
{
     /// 类文件字符串转换为ViewController
     /// - Parameter childControllerName: VC的字符串
     /// - Returns: ViewController
     func getVCByClassString(_ childControllerName: String) -> UIViewController?{
        
             // 1.获取命名空间
             // 通过字典的键来取值,如果键名不存在,那么取出来的值有可能就为没值.所以通过字典取出的值的类型为AnyObject?
             guard let clsName = Bundle.main.infoDictionary!["CFBundleExecutable"] else {
                     print("命名空间不存在")
                     return nil
                 }
             // 2.通过命名空间和类名转换成类
             let cls : AnyClass? = NSClassFromString((clsName as! String) + "." + childControllerName)
        
             // swift 中通过Class创建一个对象,必须告诉系统Class的类型
             guard let clsType = cls as? UIViewController.Type else {
                     print("无法转换成UIViewController")
                     return nil
                 }
             // 3.通过Class创建对象
             let childController = clsType.init()
        
             return childController
         }
}

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...