The concept of making copies has been lurking behind nearly every topic covered in this chapter. Developers often want to know if copying an instance yields a shallow or a deep copy. Swift does not provide any language-level support for making a deep copy, which means copies in Swift are shallow.
To get a sense of what these concepts mean, let’s look at an example. Create a new instance of GreekGod and put that and the existing instances into an array.
Listing 18.13 Adding some gods
... let athena = GreekGod(name: "Athena") let gods = [athena, hecate, zeus]
You created a new Greek god named athena and added that instance, hecate, and zeus to a new array. You should see these gods contained within the new array listed ...