1 /// 类文件字符串转换为ViewController
 2 ///
 3 /// - Parameter childControllerName: VC的字符串
 4 /// - Returns: ViewController
 5 func VCSTRING_TO_VIEWCONTROLLER(_ childControllerName: String) -> UIViewController?{
 6
 7     // 1.获取命名空间
 8     // 通过字典的键来取值,如果键名不存在,那么取出来的值有可能就为没值.所以通过字典取出的值的类型为AnyObject?
 9     guard let clsName = Bundle.main.infoDictionary!["CFBundleExecutable"] else {
10         print("命名空间不存在")
11         return nil
12     }
13     // 2.通过命名空间和类名转换成类
14     let cls : AnyClass? = NSClassFromString((clsName as! String) + "." + childControllerName)
15
16     // swift 中通过Class创建一个对象,必须告诉系统Class的类型
17     guard let clsType = cls as? UIViewController.Type else {
18         print("无法转换成UIViewController")
19         return nil
20     }
21     // 3.通过Class创建对象
22     let childController = clsType.init()
23
24     return childController
25 }

以上代码示例:

使用类的字符串转为ViewController,以实际应用过!

转载于:https://www.cnblogs.com/PLA-Artillery/p/6558715.html

swift3.0 类字符串转类(字符串转ViewController)相关推荐

  1. Swift3.0语言教程使用URL字符串

    Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...

  2. Swift3.0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  3. Swift3.0语言教程替换子字符串

    Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...

  4. Swift3.0语言教程获取C字符串

    Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式 ...

  5. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  6. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  7. 字符串工具类、数组工具类、集合工具类、转型操作工具类、编码与解码操作工具类...

    package hjp.smart4j.framework.util;import org.apache.commons.lang3.StringUtils;/*** 字符串工具类*/ public ...

  8. 【原创】字符串工具类--找出单元字符串

    package week01;import java.util.regex.Matcher; import java.util.regex.Pattern;/***** * 字符串帮助类* @auth ...

  9. 【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )

    文章目录 C++ 字符串 对象 C++ 字符串 对象 创建方法 C++ 字符串 对象 输出到控制台 C++ 字符串 拼接 C++ 字符串 方法调用 ( 栈内存对象 ) C++ 字符串 方法调用 ( 堆 ...

  10. .NET字符串操作类StringHelper (C#版)

    using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;    us ...

最新文章

  1. mysql 环形复制_mysql复制(Replication)
  2. [Day9]面向对象
  3. imagenet数据格式以及python文件处理的一些函数
  4. Java动物类enjoy方法打印_Java反射学习-2 - 获取Class对象的三种方式
  5. 324. Wiggle Sort II | 324. 摆动排序 II(降序穿插)
  6. revit如何根据坐标进行画线_铭成教你如何根据同步带的齿形进行选型
  7. 【Pytorch神经网络理论篇】 20 神经网络中的注意力机制
  8. 中如何拉取git代码_git使用教程4pycharm拉取git仓库项目代码
  9. 怎么看电脑是不是linux系统,怎么查看自己的电脑系统是什么版本
  10. 我为什么辞去 Netflix 价值 45 万美元的开发工作
  11. MySQL查询优化:查询慢原因和解决技巧
  12. ROS Learning-019 learning_tf-03(编程) 添加额外的坐标系 (Python版)
  13. uniapp引入阿里图标库
  14. 服务器音频文件缓存,音频文件如何缓存到本地,和播放缓存到本地的音频文件...
  15. IDL多进程批处理遥感数据
  16. mintUI MessageBox confirm弹框确认和取消按钮的使用-回调
  17. 计算机网络中man是,计算机网络分类为LAN、MAN和()。
  18. 移动端字体加粗的解决方案
  19. Java基础项目 开发团队分配管理系统
  20. Joomla建站之幻灯片

热门文章

  1. 【转】 NSArray copy 问题
  2. 避免内存泄漏 - C++快速入门38
  3. Android倒计时案例展示
  4. vue项目中iview表单验证 this.$refs[name].validate(valid = { }无效
  5. 学习随笔:Django 补充及常见Web攻击 和 ueditor
  6. 卷积神经网络之AlexNet
  7. redis学习(二) redis数据结构介绍以及常用命令
  8. JS 的引用赋值与传值赋值
  9. C++函数指针和类成员函数指针
  10. CSS强制英文、中文换行与不换行