我有以下扩展名:
protocol Addable {
init()
func + (lhs: Self, rhs: Self) -> Self
}
extension Int: Addable {}
extension Double: Addable {}
extension SequenceType where Generator.Element: Addable {
func sum() -> Generator.Element {
return reduce( Generator.Element() ) { $0 + $1 }
}
}
我尝试在单元测试中使用:
func testThatArrayOfDoublesCanCalculateTheSumOfAllElements() {
let numbers = [1.0, 2.0, 3.0]
let myExpectedValue = 1.0 + 2.0 + 3.0
let myActualValue = numbers.sum()
XCTAssertEqual(myExpectedValue, myActualValue)
}
在Xcode 7.3中,编译器给了我一个模糊地使用'sum()'。为什么呢?
侧面小组说:
答案 0 :(得分:2)
问题是我在我的框架目标和测试目标中都在构建扩展文件。