0
T.Type
パラメータから実際のオブジェクトを取得しようとしています。ここに私の機能があります。Swiftの汎用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.Injectable'
ColorManager
に型 'Project.ColorManager.Type'(0x610000244158)の値をキャストできませんでした取得エラーがInjectable
です。
T.Type
から実際のクラスオブジェクトをキャストまたは取得するにはどうすればよいですか?
あなたは 'T'型のオブジェクトを返すことを意味しますか? Btwあなたの現在のコードは文脈がなくても意味をなさない。 –
はい私は不要な部分を除外しましたが、それを追加することができます。私は依存性注入フレームワークを作成していますが、問題の根は 'T.Type'や' Object.self'から 'Object' 'Object.self'だけを知っているからです。 – superuserdo
基本的にオブジェクトの型を知るだけでオブジェクトを初期化したいのですか? –