Swift字符串转换成类
Swift字符串转换成类
阴雨音语 发表于2年前
Swift字符串转换成类
  • 发表于 2年前
  • 阅读 233
  • 收藏 0
  • 点赞 2
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 字符串转换成类,字符串转换成对象

 


字符串转换成对类:

// MARK:
    // MARK: 字符串转换成类名
    /// 字符串转换成类
    class func stringClassFromString(className: String) -> AnyClass! {
        
        /// 获取命名空间
        let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String;
        
        /// 根据命名空间传来的字符串先转换成anyClass
        let cls: AnyClass = NSClassFromString(namespace + "." + className)!;
        
        // 在这里已经可以return了   返回类型:AnyClass!
        return cls;
    }

使用:

            /**
             
             这里包含二步
             1.获取类名 
             2.明确类的类型
             如果不综合成一行代码会有警告,我不喜欢警告
             
             */
            
            let vcClass = XNTool.stringClassFromString(controllerName) as! UIViewController.Type;

为了方便可以这样


字符串转换成对象:

    // MARK:
    // MARK: 字符串转换成类,返回其对象
    /// 字符串转换成类,返回其对象
    class func stringClassObjectFromString(className: String) -> UIViewController! {

        /// 获取命名空间
        let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String;
        
        /// 根据命名空间传来的字符串先转换成anyClass
        let cls: AnyClass = NSClassFromString(namespace + "." + className)!;
        
        // 在这里已经可以return了   返回类型:AnyClass!
        //return cls;
        
        /// 转换成 明确的类
        let vcClass = cls as! UIViewController.Type;

        /// 返回这个类的对象
        return vcClass.init();
    }

学自:小行为(简书作者 )

共有 人打赏支持
粉丝 56
博文 302
码字总数 45295
×
阴雨音语
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: