字符串转换成对类:
// 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();
}