2014-12-10 3 views
3

У меня есть класс Transaction, который имеет var amount типа Int. Я хочу получить к нему доступ из другого класса, где у меня есть array of Transactions и суммировать все их суммы.Невозможно вызвать «+ =» с помощью списка аргументов типа (Int, @value Int)

Так что у меня этот кусок кода

func computeTotal()-> Int{ 
    let total = 0 
    for transaction in transactions{ 
     //get the amounts of each and sum all of them up 
     total += transaction.amount 
    } 
    return total 
} 

Но это дает мне ошибку

не может ссылаться на "+ =" со списком аргументов типа (Int, @value Int)

Что может быть причиной этого? Я знаю, что в Swift оба операнда должны быть одного типа, но они оба типа Int в моем коде.

ответ

3

let создает неизменяемое значение. Вам необходимо использовать var, например:

func computeTotal()-> Int{ 
    var total = 0 
    for transaction in transactions{ 
     //get the amounts of each and sum all of them up 
     total += transaction.amount 
    } 
    return total 
} 
Смежные вопросы