博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift中字符串转化为Class的方法
阅读量:5293 次
发布时间:2019-06-14

本文共 782 字,大约阅读时间需要 2 分钟。

Swift中字符串转化为Class的方法

在开发中有时候会根据字符串进行对应类的转化,这样我们就可以动态根据服务器返回的字段,动态的加载类,比如优酷,微博等APP会在节假日等动态的TabBar。这样可以把苹果审核的风险给排出。

在OC中根据一段字符串转化为类,可以很方便的进行,只需要使用NSClassFromString即可

NSClassFromString(@"NewsViewController")

但是在Swift中由于命名空间的存在导致这样的转化,会有一定的麻烦,我们可以用下面的方法进行转化。

func getClass(stringName: String) -> Class {//根据字符串获取对应的class,在Swift中不能直接使用//Swift中命名空间的概念guard let nameSpage = Bundle.main.infoDictionary!["CFBundleExecutable"] as? String else {    print("没有命名空间")    return}guard let childVcClass = NSClassFromString(nameSpage + "." + vcName) else {    print("没有获取到对应的class")    return}guard let childVcType = childVcClass as? UIViewController.Type else {    print("没有得到的类型")    return}//根据类型创建对应的对象let vc = childVcType.init()return vc

}

转载于:https://www.cnblogs.com/fengtengfei/p/6104714.html

你可能感兴趣的文章
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
springBoot配置elasticsearch搜索
查看>>
Chapter 3 Phenomenon——12
查看>>
中小学教育缴费遇到的一些问题
查看>>
FAIR开源Detectron:整合全部顶尖目标检测算法
查看>>
C语言中求最大最小值的库函数
查看>>
SRS
查看>>
14.typescript-类与接口
查看>>
js学习(精华帖)
查看>>
和小哥哥一起刷洛谷(1)
查看>>
分享squid缓存服务器配置-之conf配置文件的详细介绍
查看>>
jQuery教程详解(一)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>
DP学习之路(1) 01背包
查看>>
获取元素样式信息于三中获取方式的区别
查看>>
测试主要环节
查看>>
08-17工作总结
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>