import UIKit
class RootViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let name = "MainViewController"
//动态获取命名空间
let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String
print(namespace)
//注意工程中必须有相关的类,否则程序会crash
let class:AnyObject = NSClassFromString(namespace + "." + name)!
print(class)
// 告诉编译器它的真实类型
let viewControllerClass = class as! UIViewController.Type
let viewController = viewControllerClass.init()
print(viewController)
}
}
Swift 通过字符串创建类
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swif...
- 在swift开发中,也是通过用字符串创建类也是通过NSClassFromString函数进行的。 NSClassF...
- fileprivate func addChildViewController(_ childViewContro...