Swift 字符串转类NSClassFromString为nil

最近复习Swift使用NSClassFromString转类的时候总是得到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,后来改掉包名后正常了,记录一下。

你可能感兴趣的:(Swift 字符串转类NSClassFromString为nil)