您的位置:首页 > 移动开发 > Swift

Swift字符串转换成类

2016-05-20 00:00 134 查看
摘要: 字符串转换成类,字符串转换成对象

字符串转换成对类:

// 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();
}


学自:小行为(简书作者 )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: