Playing around with Swift, coming from a Java background, why would you want to choose a Struct instead of a Class? Seems like they are the same thing, with a Struct offeri
One point not getting attention in these answers is that a variable holding a class vs a struct can be a let
while still allowing changes on the object's properties, while you cannot do this with a struct.
This is useful if you don't want the variable to ever point to another object, but still need to modify the object, i.e. in the case of having many instance variables that you wish to update one after another. If it is a struct, you must allow the variable to be reset to another object altogether using var
in order to do this, since a constant value type in Swift properly allows zero mutation, while reference types (classes) don't behave this way.