Immutable value of type [Card] only has mutating values of name append
swift
Solution
without more code, we can only guess what happened
sounds like you are doing something like
func addCard(_ myCardArray: [Card]) -> [Card] {
let myCard = Card()
myCardArray.append(myCard)
return myCardArray
}
the problem is that `myCardArray` is immutable, as error message said, you can't modify it
you can declare `myCardArray` mutable use `var`
func addCard(var _ myCardArray: [Card]) -> [Card] {
let myCard = Card()
myCardArray.append(myCard)
return myCardArray
}
or create a mutable copy of it
func addCard(_ myCardArray: [Card]) -> [Card] {
let myCard = Card()
var mutableMyCardArray = myCardArray
mutableMyCardArray.append(myCard)
return mutableMyCardArray
}
Problem
I have a Card class and a Player class. In my Player class I have a function that takes a [Card] array and adds a Card to it. However, when I call... ``` myCardArray.append(myCard) ``` ...I get the error ``` Immutable value of type [Card] only has mutating values of name append ``` I can't figure out why this is? Why would this be immutable?