我有这个协议层次结构:
protocol A {}
protocol B: A {}
如果我有以下2个函数会发生什么:
func myFunc<T : A where T: B>( object: T){ ... }
func myfunc<T : A>( object: T){ ... }
如果我打电话
将执行哪个功能myFunc( object: myInstance )
myInstance
符合协议B
。在这种情况下,myInstance
匹配2个约束。
由于
答案 0 :(得分:2)
一般规则是编译器尝试选择大多数特定/ 大多数约束过载。
对于上面的示例,它将是myFunc