我试图实现一个新方法来连接两个Array,返回一个Array包含公共数据类型到另外两个.
为了清楚起见,我希望有一种方法可以做一些事情(知道语法不正确......):
@infix func + <T,U,X where X super T, X super U>(left : Array<T>, right : Array<U>)
-> Array<X>{
//join both arrays
}
Run Code Online (Sandbox Code Playgroud)
始终认为编译器能够检测两个类的共同祖先类型.如果这实际上是不可能的,那么正确的方法是什么?使"超级"类型明确吗?
您可以使用:如下语法:
// The parameter must be a UIViewController, or subclass
func changeViewColor<T: UIViewController>(vc: T) {
vc.view.backgroundColor = UIColor.redColor()
}
Run Code Online (Sandbox Code Playgroud)