0
我試圖讓從T.Type
參數的實際對象。這是我的功能。獲得普通T.Type對象斯威夫特
func inject<T: Injectable>(_ injectableClass: T.Type) -> T {
let injectable = injectableClass as! Injectable
//More code that returns what is needed but this is the error spot
}
我創建一個依賴注入框架,並希望使用它,如下所示
var mColorManager: ColorManager {
return mAppModule.inject(ColorManager.self)
}
這工作,直到我想要做什麼,我想在注入函數裏面做。
這是錯誤我得到
無法投型 'Project.ColorManager.Type'(0x610000244158)的值設爲 'Project.Injectable'
ColorManager
是Injectable
。
我如何投或T.Type
獲得實際的類對象?
你的意思是你想要返回一個'T'類型的對象?順便說一句,你現在的代碼沒有更多的上下文是沒有意義 –
是我離開了不需要的部分,但我可以補充一點,我是創建一個依賴注入框架,但問題的根源是,從'T.Type'或'Object.self',我想'Object'從只知道'Object.self'。 – superuserdo
所以你基本上只是想知道它的類型初始化一個對象? –