2017-02-09 43 views
0

我想計算學生lis中的總分數,但是出現此錯誤。我的減少方法實現有什麼問題?使用reduce方法計算struct屬性的總數

Cannot convert value of type '(_, _) -> Int' to expected argument type '(Result, Student) -> Result' 

這裏是代碼:

import UIKit 

struct Student { 
    let name: String 
    var score: Int 
} 

var studentsList: [Student] 

let totalScore = studentsList.reduce(0) {$0.score + $1.score} 
+2

'$ 0'是累加器,它的'Int',並沒有一個' score'。 – Alexander

回答

0

應該

let totalScore = studentsList.reduce(0) { $0 + $1.score } 

let totalScore = studentsList.reduce(0) { $0.score + $1.score } 

這裏(0)是初始結果$0Result你它是Int$1Student類型。

0

第一studentsList初始化

var studentsList: [Student] = [] //or some list 

,它應該

let totalScore = studentsList.reduce(0) {$0.0 + $0.1.score} 

代替

let totalScore = studentsList.reduce(0) {$0.score + $1.score}