美文网首页
通过字符串创建对象

通过字符串创建对象

作者: 红茶绅士 | 来源:发表于2017-04-15 18:24 被阅读8次

通过重写UITabBarControlleraddChildViewController函数,实现利用String(类名)生成相应对象

class MainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    private func addChildViewController(VCName : String, title : String, iconName : String) {
        
        //获取命名空间
        guard let nameSpace = Bundle.main.infoDictionary!["CFBundleExecutable"] as? String else {
            return
        }
        
        //根据字符串获取对应的Class
        guard let VCClass = NSClassFromString(nameSpace + "." + VCName) else {
            return
        }
        
        //将对应的AnyObject转成控制器的类型
        guard let VCType = VCClass as? ViewController.Type else {
            return
        }
        //创建对应的控制器对象
        let childVC = VCType.init()
        
        //设置控制器属性
        childVC.title = title
        childVC.tabBarItem.image = UIImage(named: iconName)
        childVC.tabBarItem.selectedImage = UIImage(named: iconName + "_highlighted")
        
        //生成导航栏控制器
        let childNav = UINavigationController(rootViewController: childVC)
        
        //添加控制器
        addChildViewController(childNav)
        
    }
}

相关文章

  • NSString相关使用

    字符串的创建 通过不同的方式创建字符串,字符串对象存储的位置也不一样如果通过字符串常量创建,那么字符串对象存储在常...

  • NSString字符串创建时的注意点

    通过不同的方式创建字符串,字符串对象的存储位置不同 如果是通过字符串常量创建,那么字符串对象存储在常量区中 如果是...

  • 【ADO.NET】数据库查询SQLCommand方法

    1.创建连接字符串 2.使用Connection通过连接字符串进行连接 创建对象使用Command对象.Comma...

  • js复习笔记(二): 字符串方法

    · 字符串 创建 字符串一般直接创建: 也可以通过new来创建(不推荐): 因为通过new创建的是对象,性能不好....

  • java基本功16课:(5)表达式中的陷阱

    1.字符串陷阱 1.1 java创建对象的常见方式如下: 通过new调用构造器创建Java对象。 通过Class对...

  • 通过字符串创建对象

    通过重写UITabBarController的addChildViewController函数,实现利用Strin...

  • NSString

    NSString字符串 通过不同方式创建的字符串,字符串对象存储的位置也不一样如果是通过字符串常量创建,那么字符串...

  • 对 String 字符串的理解

    1、通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象区别? 画图解释:捕获.PNG main 方法进栈开...

  • objective-c NSString

    NSString创建方法 通过字符串常量创建:存储在字符串常量区,如果创建多个字符串常量,且内容一致,那么多个对象...

  • NSClassFromString和NSSelectorFrom

    1、通过字符串创建类和对象 2、通过字符串(已存在的方法名称)获取一个SEL

网友评论

      本文标题:通过字符串创建对象

      本文链接:https://www.haomeiwen.com/subject/acqoattx.html