遍历数组并更改其属性时,获取不是可变错误

时间:2018-10-17 21:25:47

标签: arrays swift mapping mutable

我要遍历一组篮球运动员,他们的ID等于某个运动员的ID。然后,我想将+1添加到播放器对象的fouls属性中。

self.match.matchState.homePlayers.first{$0.id == toPlayer.id}?.fouls += 1

我有错误

  

变异运算符的左侧不可更改:函数调用返回不变的值

fouls属性是一个可选的整数。 var fouls: int? 即使当我将Player结构更改为类类型时,我仍然遇到另一个错误。

  

不能将不变值作为inout参数传递:函数调用返回不变值

那我应该如何循环对象数组并更改其中的某个属性?

1 个答案:

答案 0 :(得分:0)

我将Player的类型从结构更改为类 然后我找到了一种方法来以这种方式更新Player对象fouls属性,并且它现在可以正常工作而没有错误

if toPlayer.fouls == nil {
   self.match.matchState.homePlayers.first{$0.id == toPlayer.id}?.fouls = toPlayer.fouls! + 1
}