Mutability
For those who are familiar with Objective-C, you know that there are different classes for mutable and nonmutable collections. For example, to define a mutable array, we use the NSMutableArray
class, and to define a nonmutable array, we use the NSArray
class. Swift is a little different because it does not contain separate classes for mutable and nonmutable collections. Instead, we define whether a collection is constant (nonmutable) or a variable (mutable) by using the let
and var
keywords. This should seem familiar since, in Swift, we define constants with the let
keyword and variables with the var
keyword.
Note
It is good practice to create immutable collections unless there is a specific need to change the objects within the collection. This allows the compiler to optimize the performance.