7
在Swift中使用where子句扩展数组类型
我想使用Accelerate框架来扩展[Float]和[Double],但是每一个都需要不同的实现。 我尝试了明显的方法: extension Array<Float> { } 并得到这个错误: “必须在具有'where'子句指定约束的非专用泛型'Array'上声明受约束的扩展” 这样在Swift 2中扩展泛型类型是否可行? 我的代码现在按预期工作了。这是显示使用Accelerate框架求和的示例。 extension _ArrayType where Generator.Element == Float { func quickSum() -> Float { var result: Float = 0 if var x = self as? [Float] { vDSP_sve(&x, 1, &result, vDSP_Length(x.count)) } return result } } extension _ArrayType where Generator.Element == …