Анонс-ссылка (unowned reference) не увеличивает счетчик ссылок на объект и используется, когда жизненные циклы двух объектов тесно связаны, и один не может существовать без другого, но при этом нет циклической зависимости. Анонс-ссылка гарантированно указывает на существующий объект, поэтому она всегда неопциональна.
Вик-ссылка (weak reference) также не увеличивает счетчик ссылок на объект. Она используется, когда ссылка может в какой-то момент стать нулевой, так как объект, на который она ссылается, может быть освобожден. Вик-ссылка всегда опциональна (weak var).
Пример:
swift
В данном случае weak var tenant: Person? предотвращает retain cycle между Person и Apartment.
Пример анонс-ссылки:
swift
В этом примере unowned let customer: Customer используется, так как кредитная карта не может существовать без владельца (Customer), и гарантировано, что customer будет действительным, пока существует CreditCard.