-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Learning Swift Second Edition
By :

It is a great idea to always keep strong reference cycles in mind, but if we are too aggressive with the use of weak and unowned references, we can run into the opposite problem, where an object is deleted before we intended it to be.
With an object this will happen if all of the references to the object are weak or unowned. This won't be a fatal mistake if we use weak references, but if this happens with an unowned reference it will crash your program.
For example, let's look at the preceding example with an extra weak reference:
class SteeringWheel { weak var car: Car? } class Car { weak var steeringWheel: SteeringWheel! init(steeringWheel: SteeringWheel) { self.steeringWheel = steeringWheel steeringWheel.car = self } } let wheel = SteeringWheel() let car = Car(steeringWheel: wheel)
This code is the same as the preceding one except that both the car
property of SteeringWheel
and the steeringWheel
property of Car
are weak. This means...
Change the font size
Change margin width
Change background colour