为了将类名存储在日志文件中,我将类类型的描述转换为字符串:
let objectType: NSObject.Type = Object.self
let str = String(describing: objectType)
但是,我没有成功将 str
反向转换为 NSObject.Type
类型的变量以在通用方法中使用它。
我怎样才能做到这一点?
最佳答案
您可以从string
取回您的类,但在获取类名时需要使用项目的模块名称。如果您不使用模块名称,那么它将返回nil
,因为您之前引用的类名称未由模块名称完全限定。您应该更改类名称字符串以表示类的完全限定名称:
let myClassString = String(MyModule.MyViewController.self)
print(myClassString)
let myClass = NSClassFromString("MyModule.\(myClassString)") as! MyViewController.Type
print(myClass)
关于ios - 如何将带有类名称的字符串转换为类类型本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59080553/