Swift Mutating Functions and Property Observers
I was under the (wrong) assumption that the
mutating func
needed to, well, somehow mutate the receiver of that method call, like change a property value. And that this in turn would be noted “somewhere”. Conversely, I was under the (wrong) assumption that amutating func
without any mutations inside would behave 100% like a regular, non-mutating function.[…]
A pretty nice consequence is that you can use
mutating func
to change a reference type property inside a value type, and have references to the value type still know that it has changed: