unowned
ссылки нужны для разрешения циклических ссылок (retain cycles) между объектами, когда оба объекта имеют сильную ссылку друг на друга, но при этом один из объектов имеет жизненный цикл короче или равный другому.
unowned
используется, когда известно, что ссылаемый объект не будет nil на протяжении всего времени жизни объекта, содержащего ссылку. В отличие от weak
, при доступе к unowned
ссылке не используется Optional. Если объект, на который ссылается unowned
, будет деаллоцирован до того, как деаллоцируется объект с unowned
ссылкой, произойдет крэш.
Пример использования в замыканиях:
swift
unowned
ссылки нужны для разрешения циклических ссылок (retain cycles) между объектами, когда оба объекта имеют сильную ссылку друг на друга, но при этом один из объектов имеет жизненный цикл короче или равный другому.
unowned
используется, когда известно, что ссылаемый объект не будет nil на протяжении всего времени жизни объекта, содержащего ссылку. В отличие от weak
, при доступе к unowned
ссылке не используется Optional. Если объект, на который ссылается unowned
, будет деаллоцирован до того, как деаллоцируется объект с unowned
ссылкой, произойдет крэш.
Пример использования в замыканиях:
swift
Register or sign in to get access to full answers for all questions from the question bank.