Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
unowned
— это ключевое слово в Swift для объявления слабой ссылки. Используется, когда два объекта имеют сильную связь и их жизненные циклы зависят друг от друга, но мы хотим избежать циклических ссылок, которые могут помешать освобождению памяти.
Основные свойства и отличия от weak
:
unowned
ссылка гарантированно не будет nil
на протяжении жизни объекта, на который она ссылается.unowned
ссылка, освобождается из памяти до того, как ссылка будет использована, это приведет к крашу приложения (runtime error). Необходимо убедиться, что объект, на который ссылается unowned
ссылка, существует дольше, чем сама ссылка.self
, когда замыкание не захватывает сильную ссылку на self
.Пример использования в замыкании:
swift
unowned
— это ключевое слово в Swift для объявления слабой ссылки. Используется, когда два объекта имеют сильную связь и их жизненные циклы зависят друг от друга, но мы хотим избежать циклических ссылок, которые могут помешать освобождению памяти.
Основные свойства и отличия от weak
:
unowned
ссылка гарантированно не будет nil
на протяжении жизни объекта, на который она ссылается.unowned
ссылка, освобождается из памяти до того, как ссылка будет использована, это приведет к крашу приложения (runtime error). Необходимо убедиться, что объект, на который ссылается unowned
ссылка, существует дольше, чем сама ссылка.self
, когда замыкание не захватывает сильную ссылку на self
.Пример использования в замыкании:
swift
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.