在Swift中使用 NSClassFromString
需要 工程名
+ .
+ string
NSClassFromString(Bundle.main.object(forInfoDictionaryKey: "CFBundleName")! + "." + "CustomCell")
每次寫(xiě)這些很麻煩,所以簡(jiǎn)單封裝下
public func GetClassFromString(_ classString: String) -> AnyClass? {
guard let bundleName: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String else {
return nil
}
var anyClass: AnyClass? = NSClassFromString(bundleName + "." + classString)
if (anyClass == nil) {
anyClass = NSClassFromString(classString)
}
return anyClass
}
以后就可以直接調(diào)用
GetClassFromString("cellName")