qwe*_*_so 2 reduce struct swift
我有以下代码
struct Tab {
var origin:CGFloat
var width:CGFloat
init(width:CGFloat) {
origin = 0
self.width = width
}
}
let subTabs = [Tab(width:1), Tab(width:2)]
let w = reduce(subTabs, CGFloat(0), { $0.width + $1.width })
Run Code Online (Sandbox Code Playgroud)
并期望在我的结构中reduce
总结width
s.但它会引发编译错误(您可以在Playground中测试).
减少需求的函数需要2个参数:累计值和序列中的下一个项.您的函数需要两个序列项(Tab
结构).由于您返回一个浮点数,因此累积的值是浮点数,而不是Tab
您所期望的值.正确的电话是:
let w = reduce(subTabs, CGFloat(0), { $0 + $1.width })
Run Code Online (Sandbox Code Playgroud)