0
从日志文件中,我获得一个字符串,其中包含一个类的名称,例如, “儿童”为可以定义为:如何在通用类中使用类类型
class Child: Object, MyProtocol {
// ...
}
我想在下面的泛型类使用这个类:
open class MyClass<T: Object> where T:MyProtocol {
//…
open class func doSomething() {
//…
}
}
我已经问了一个问题here如何从一个字符串类的类型,这可以通过以下方式获得:
let objectType = NSClassFromString("MyModule.\(strFromLog)”) as! Object.Type
显然,objectType
不能直接用在MyClass
因为它是类型的10,不T
了,下面不工作:
MyClass<objectType>.doSomething() // -> error: Use of undeclared type 'objectType'
然而,是否还使用在MyClass
objectType
,而不需要改变通用类本身的方式(即其他方法依赖它)?