是否可以从一个方法返回多个不同的泛型项?

时间:2018-10-12 09:30:12

标签: swift generics

我有一个通用类,比方说DataProvider<T,S> 现在,我想从某个方法(如getProviders())中检索所有不同的DataProvider。但是,由于Swift具有编译时泛型,这似乎不可能吗?

func getProvider() -> [DataProvider]
{
     let prov1 = DataProvider<Foo,Bar>()
     let prov2 = DataProvider<Foo2,Bar2>()
     return [prov1,prov2]
}

此DataProvider的所有方法也都使用通用参数/返回值,因此我不能让它通过非通用协议进行确认。这仅仅是Swift的局限性,还是有解决这个问题的聪明方法?

0 个答案:

没有答案