在Swift中使用复杂的类型约束和泛型函数

时间:2015-07-06 03:12:49

标签: ios swift function generics

开始在Swift中使用泛型函数我有以下几种情况:

func fillUpData<T:Class_One>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

func fillUpData<T:Class_Two>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

这两个函数包含完全相同的内部代码。

我想让它成为一个函数,接受第二个参数的类型Class_One和Class_Two。 换句话说就像:

func fillUpData<T:Class_One|Class_Two>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

看一下文档,似乎我应该使用“where子句”,但我不知道什么是正确的语法,我尝试的并没有真正起作用。

例如,这些不起作用:

func fillUpData<T:Class_One,T:Class_Two>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

func fillUpData<T where T:Class_One,T:Class_Two>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

func fillUpData<T where T:Class_One|T:Class_Two>(bCard:Class_Data,dataForm:T) {
Some complex-Code …..
}

所以,如果你知道答案,请告诉我。

0 个答案:

没有答案