• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift语言概览-自己在Xcode6动手写1发布时间:2022-07-13
下一篇:
[Swift]LeetCode999.车的可用捕获量|AvailableCapturesforRook发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap