1
我一直在swift中使用reduce
語法。 map
和filter
從來沒有讓我起來,但每次都是reduce
。以下是我已經試過這一次,他們都不去:Swift的`reduce`語法的問題
let count = items.reduce(0) { $0 + $1.selected ? 1 : 0 }
let count = items.reduce(Int(0), combine: { return $0 + $1.selected ? 1 : 0 })
let count = items.reduce(Int(0), combine: { sum, item in return sum + item.selected ? 1 : 0 })
你可以假設每個item
是一個selected
布爾屬性的對象。這很簡單,我覺得我的意圖很清楚,但編譯器沒有非常有用的反饋:Cannot invoke 'reduce' with an argument list of type '((Int), combine: (_, _) -> _)'
如何修復語法?