Very interesting question. Here is some difference between weak and unsettled links according to Apple documentation .
Weak links
A weak link is a link that does not hold strong binding to the instance to which it refers, and therefore does not stop ARC from disposing of the reference instance. This behavior prevents the link from becoming part of a strong reference loop.
Unpublished Links
Like a weak link, an unpublished link does not hold strong control over the instance to which it refers. However, unlike a weak link, a non-primary link is used when another instance has the same lifetime or longer life.
The answer to your question:
weak
can become zero, while unowned
is considered to never become nil, so weak
will be optional if unowned
optional.
In this case, Customer
may or may not have a CreditCard
, but without a CreditCard
must exist without a Customer
.
source share