最近復(fù)習(xí)Swift使用NSClassFromString轉(zhuǎn)類的時候總是得到nil,記錄一下,正確代碼如下:
static func classTypeFromString(className: String?) -> AnyClass? {
guard className != nil || className!.count > 0 else { return nil }
var name = Bundle.main.infoDictionary!["CFBundleName"] as! String
name = name.replacingOccurrences(of: "-", with: "_")
let fullClassName = name + "." + className!
return NSClassFromString(fullClassName)
}
注意:我一開始因為是建了個測試項目名字中包含有 "." 一開始沒注意然后NSClassFromString一直是nil盼理,即使是上面的代碼也是nil软啼,后來改掉包名后正常了,記錄一下。