In main.swift, when I create an instance of any of the objects, then assign 1 object as a property of another, it treats both instances separately.
For example…
var bronzeTown = Town()
var bronzeVampire = Vampire()
bronzeVampire.town = bronzeTown
bronzeTown.printDescription() // PRINTS "Pop 5422…"
bronzeVampire.town?.printDescription() // PRINTS “Pop 5422…” - no terrorising has happened
bronzeVampire.terroriseTown()
bronzeTown.printDescription() // PRINTS “Pop 5422…” - still at default! Why???
bronzeVampire.town?.printDescription() // PRINTS “Pop 5421…” - shows the expected lower number…
I can paste in the full code, but if someone is able to pinpoint the Swift term for this, as I am sure I remember something about this in the chapter, just cant recall what it was…