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
,而不需要改變通用類本身的方式(即其他方法依賴它)?