Swift 通过字符串创建控制器

Posted ZhangShengjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 通过字符串创建控制器相关的知识,希望对你有一定的参考价值。

由于Swift 中新增了一个命名空间(在同一个命名空间中的文件可以直接访问而不用引入头文件)的概念 所以通过字符串创建控制器需要带上命名空间

1 首先为Bundle 写一个分类  获取命名空间

extension Bundle{
    var namespace : String {
     return   infoDictionary?["CFBundleName"] as? String ?? ""
    }
}

2 然后通过字符串直接创建控制器

guard let Class = NSClassFromString(Bundle.main.namespace+"."+"你的控制器名字字符串") as?UIViewController.Type else {
            
        }
 let vc = Class.init()

 

以上是关于Swift 通过字符串创建控制器的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift 中的 Android 片段模拟

通过 Storyboard 创建时如何学习 Swift 命令? [关闭]

如何将字符串保存到Core Data Swift

swift常用代码片段

swift 代码片段

swift学习笔记:字符转为类,代码创建控件