swift3.0遇到的那些坑之NSClassFromString
阿新 • • 發佈:2019-02-12
錯誤寫法:
let class_ = NSClassFromString(className)!
3.0這樣寫編譯GG思密達,查了一下需要加上你的工程名字,坑吧!
正確寫法:
全域性定義一個返回app名稱的方法
func getAPPName() -> String{
let nameKey = "CFBundleName"
let appName = Bundle.main.object(forInfoDictionaryKey: nameKey) as? String //這裡也是坑,請不要翻譯oc的程式碼,而是去NSBundle類裡面看它的api
return appName!
}
設定類名字
let className = getAPPName() + "." + "your className //沒錯,你沒有看錯,中間還要加一點"."
使用NSClassFromString
let class_ = NSClassFromString(className)! as! hIndexConfig.Type//hIndexConfig == your's className