Ссылки без владельца, как и слабые ссылки, не увеличивают счетчик сохранения объекта, на который делается ссылка. Однако в Swift у незарегистрированной ссылки есть дополнительное преимущество - она не является необязательной. Это упрощает управление ими, вместо того, чтобы прибегать к использованию дополнительной привязки. Это мало чем отличается от неявно развернутых опций. Кроме того, бесхозные ссылки не обнуляются. Это означает, что когда объект освобождается, он не обнуляет указатель. Это означает, что использование ссылок без владельца может в некоторых случаях привести к появлению висячих указателей. В мире Objective- C бесхозные ссылки сопоставляются с unsafe_unretained
ссылками.
Таким образом, это вызовет Fatal Error
, например:
Неустранимая ошибка: Попытка прочитать незарегистрированная ссылка, но объект X уже освобожден
Как signal SIGABRT