NSClassFromString()取出Class为nil

Swift下需要用

let tempns = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String

动态获取命名空间,然后用NSClassFromString()的方法获取类型。
例如名为MyClass的类型,我获取类对象时一般用以下方法

let appName = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String
let anyClass: AnyClass = NSClassFromString(appName + "." + "MyClass")
let myObj: AnyObject = (anyClass as! NSObject.Type).init()

但是,之所以要记下来就是因为这个但是。
我习惯在练习用的工程名后加-Test后缀,但在NSClassFromString()方法内-要用_替换才可以正确获取Class,否则为nil,其他如中文数字等没有尝试状况的没有尝试,先记下来。

你可能感兴趣的:(NSClassFromString()取出Class为nil)