what is the difference between weak and unowned?
The first difference you need to know about is that an unowned reference is always expected to have a value. ... When that happens, the reference is set to nil . Because a weak reference can be set to nil , it is always declared as an optional. That is the second difference between weak and unowned references.