April 2015
Intermediate to advanced
556 pages
17h 47m
English
By default, a reference is a strong reference. All of the references you have seen so far have been strong references, and an object’s reference count is actually the count of strong references. As long as there is a strong reference to an object, that object will remain in memory.
There is another kind of reference: a weak reference. A weak reference allows you to access the object it references, but it is not included in the object’s reference count. Thus, a weak reference will not keep an object in memory.
In Swift, weak references are always optional types because they are auto-zeroing: when the referenced object is deallocated, the weak reference is set to nil. Auto-zeroing prevents references ...