Immutability
In the previous section, you learned how important it is to use immutable constants. There are more immutable types in Swift, and you should take advantage of them and use them. The advantages of immutability are as follows:
- It removes a bunch of issues related to unintentional value changes
- It is a safe multithreading access
- It makes reasoning about code easier
- There is an improvement in performance
By making types immutable, you add an extra level of security. You deny access to mutating an instance. In our journal app, it's not possible to change a person's name after an instance has been created. If, by accident, someone decides to assign a new value to the person's firstName
, the compiler will show an error:
var person = Person(firstName: "Jon", lastName: "Bosh") p.firstName = "Sam" // Error
However, there are situations when we need to update a variable. An example could be an array; suppose you need to add a new item to it. In our...