当前位置: 首页 > news >正文

swift 字符串创建类

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

先看个OC的

Class someClass = NSClassFromString(@"SomeClassName");
id obj = [[someClass alloc] init];

swift

guard let name =  NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as? String else
        {
            print("获取命名空间失败")
            return
        }
        //Swift中如果想通过类名来创建一个类必须加上命名空间
        let cls: AnyClass? = NSClassFromString(name + "." + childControllerName)
        
        //Swift中如果想通过一个Class来创建一个对象, 必须告诉系统这个Class的确切类型
        guard let typeCls = cls as? UITableViewController.Type else
        {
            print("cls不能当做UITableViewController")
            return
        }
        
        let childController = typeCls.init()
        /* 
         1:guard 如果没有就会执行 必须return
         2:AnyObject时需用到as
         */
        

 

转载于:https://my.oschina.net/zhaodacai/blog/683538

相关文章:

  • push 和pop的区别
  • linux命令行模式下实现代理上网 专题
  • tab.js分享及浏览器兼容性问题汇总
  • linux----进度条程序
  • Eclipse:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  • 运行TestCase时,提示:Element is not currently visible and so may not be interacted with
  • iOS开发之UITextField的使用详解
  • 使用生成器展平异步回调结构,JS篇
  • IPv4 地址分类
  • find命令无效处理记录
  • raft 分布式协议 -- mongodb
  • 把redis安装到ubuntu-14.04.1-server
  • [javaSE] GUI(Action事件)
  • 如何查看表和索引的统计信息
  • 持续交付:价值主张
  • 2017 年终总结 —— 在路上
  • Apache的80端口被占用以及访问时报错403
  • JavaScript新鲜事·第5期
  • js如何打印object对象
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python十分钟制作属于你自己的个性logo
  • SpringCloud集成分布式事务LCN (一)
  • swift基础之_对象 实例方法 对象方法。
  • Theano - 导数
  • vue:响应原理
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 观察者模式实现非直接耦合
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 判断客户端类型,Android,iOS,PC
  • 入门到放弃node系列之Hello Word篇
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 一份游戏开发学习路线
  • 阿里云ACE认证之理解CDN技术
  • ​configparser --- 配置文件解析器​
  • ​flutter 代码混淆
  • ​HTTP与HTTPS:网络通信的安全卫士
  • #AngularJS#$sce.trustAsResourceUrl
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (bean配置类的注解开发)学习Spring的第十三天
  • (ibm)Java 语言的 XPath API
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (三) diretfbrc详解
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET/C# 使窗口永不获得焦点
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ 转载 ] SharePoint 资料
  • [20150321]索引空块的问题.txt
  • [20190416]完善shared latch测试脚本2.txt
  • [BZOJ2208][Jsoi2010]连通数
  • [C#]获取指定文件夹下的所有文件名(递归)