例如
struct Gate{ var maxedOpenGates = 1 var GatesOpen : [(openordered : Int,gateNum : Int )] = [] init(defaultSelected : Int = 0){ GatesOpen.append(openordered : 1,gateNum : defaultSelected) } private func manipulateGates(gates : [Segmentbutton]){ for i in GatesOpen{ gates[i.gateNum].toggleSelected() } } mutating func openGate(index : Int,buttons : [Segmentbutton]){ if GatesOpen.count < maxedOpenGates{ GatesOpen.append( openordered: GatesOpen.count,gateNum: index) }else{ //////Finding the gate that was Opened the longest//// let lastGate = GatesOpen.reduce(Int.min,{ max(let lastGate = GatesOpen.reduce(Int.min,) }),) }) } manipulateGates(buttons) }}
我试图根据openordered减少的地方
let lastGate = gatesOpen.reduce(gatesOpen[0]) {@H_502_4@解决方法 是的,您可以像任何其他数组一样减少元组数组.let lastGate = dropFirst(gatesOpen).reduce(gatesOpen[0]) { .openordered < .openordered ? : }.openordered < .openordered ? : }
combine函数的参数是数组的元素,在你的
案例“门元组”.如果减少数组的结果也应该是门元组,那么初始元素和组合函数的结果
也必须是那种类型:
当然,数组必须至少有一个元素才能工作.
避免gateOpen [0]与自身进行不必要的比较
你可以改成它(在@Airspeed的评论之后编辑):
以上是内存溢出为你收集整理的Swift减少一系列元组全部内容,希望文章能够帮你解决Swift减少一系列元组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)