0
我試圖創建一個函數來返回元組類型的數組,然後我可以使用它來解決Swinject Resolver
中的實例。這裏是我的代碼:Swinject:使用元類型列表解析
protocol Task: class { }
func getTypes() -> [Task.Type] {
return [ConcreteTaskA.self, ConcreteTaskB.self]
}
var concreteTasks = [Task]()
for type in getTypes() {
// Use a Swinject Container to resolve the metatype.
let task = container.resolver.resolve(type)! // Error here: Cannot invoke 'resolve' with an argument list of type '(Task.Type)'
concreteTasks.append(task)
}
我不知道如何解決這個問題。我是否需要在getTypes()
方法中使用泛型?解決時是否需要調用一些等效的type.self
?
我的要求是,我可以定義一個元數據列表([ConcreteTaskA.self, ConcreteTaskB.self]
)由解析器解決。