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 通过字符串创建控制器的主要内容,如果未能解决你的问题,请参考以下文章