Swift 3 - Reduce a collection of objects by an Int property
问题 I have an array containing 3 objects like so: class AClass { var distance: Int? } let obj0 = AClass() obj0.distance = 0 let obj1 = AClass() obj1.distance = 1 let obj2 = AClass() obj2.distance = 2 let arr = [obj0, obj1, obj2] When I reduce the array and assign it to a variable, I can only sum the last element in the array. let total = arr.reduce(0, {$1.distance! + $1.distance!}) //returns 4 If I try $0.distance! it errors with "expression is ambiguous without more context". I tried being more