I am having a generic class, let's say DataProvider<T,S>
Now I want to retrieve all different DataProviders from a method,like getProviders()
. However, due to Swift having compile time generics, this doesn't seem to be possible?
func getProvider() -> [DataProvider]
{
let prov1 = DataProvider<Foo,Bar>()
let prov2 = DataProvider<Foo2,Bar2>()
return [prov1,prov2]
}
All the methods of this DataProvider also use generic parameters/return values, so I can't let it confirm to a non-generic protocol. Is this just the limitation of Swift, or are there clever ways to get around this?