我在遍历一组篮球运动员,他们的ID等于某个运动员的ID。然后,我想将+1添加到播放器对象的fouls
属性。
self.match.matchState.homePlayers.first{$0.id == toPlayer.id}?.fouls += 1
我有错误
变异运算符的左侧不可变:函数调用返回不可变值
fouls
属性是一个可选的整数。 var fouls: int?
即使当我将
Player
结构更改为类类型时,我也会遇到另一个错误。无法将不可变值作为inout参数传递:函数调用返回不可变值
那么我应该如何循环一个对象数组并更改其中的某个属性?
最佳答案
我将Player
类型从struct更改为class
然后我找到了一种方法来以这种方式更新Player
对象fouls
属性,并且它现在可以正常工作且没有错误
if toPlayer.fouls == nil {
self.match.matchState.homePlayers.first{$0.id == toPlayer.id}?.fouls = toPlayer.fouls! + 1
}
关于arrays - 遍历数组并更改其属性时,获取不是可变错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52863843/