这个只适用于自定义的类,不要使用UIViewController进行测试
/// 字符串转换为类
///
/// - Parameter className: 类名字符串
/// - Returns: 类对象
func stringClassObjectFromString(className: String) -> UIViewController! {
/// 获取命名空间
let namespace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String;
/// 根据命名空间传来的字符串先转换成anyClass
let cls: AnyClass = NSClassFromString(namespace + "." + className)!;
// 在这里已经可以return了 返回类型:AnyClass!
//return cls;
/// 转换成 明确的类
let vcClass = cls as! UIViewController.Type;
/// 返回这个类的对象
return vcClass.init();
}
网友评论