Почему ioutlet слаб?

Оглавление:

Почему ioutlet слаб?
Почему ioutlet слаб?
Anonim

@IBOutlet заставляет Interface Builder распознавать выход. private гарантирует, что выход не будет доступен за пределами текущего класса. weak используется потому, что в большинстве ситуаций владелец выхода не совпадает с владельцем представления. Например, контроллеру представления не принадлежит someLabel, а принадлежит представлению контроллера представления.

Должен ли IBOutlets быть слабым?

Официальный ответ Apple заключается в том, что IBOutlets должен быть сильным. Единственный случай, когда IBOutlet должен быть слабым, это, чтобы избежать цикла удержания. Сильный цикл ссылок может привести к утечке памяти и сбоям приложения.

Что такое IBOutlet Swift?

Квалификатор типа IBOutlet - это тег, применяемый к объявлению свойства, чтобы приложение Interface Builder могло распознать свойство как выход и синхронизировать его отображение и соединение с Xcode.. Выход объявляется как слабая ссылка (weak), чтобы предотвратить циклы сильных ссылок.

Что такое слабая ссылка в Swift?

Слабые ссылки. Слабая ссылка - это ссылка, которая не удерживает сильное удержание экземпляра, на который ссылается, и поэтому не мешает ARC избавиться от экземпляра, на который ссылается. Такое поведение предотвращает превращение ссылки в цикл сильных ссылок.

В чем разница между слабым и сильным в Swift?

Ссылка

A strong означает, что вы хотите «владеть» объектом, на который вы ссылаетесь с этим свойством/переменной. Напротив, при слабомссылка означает, что вы не хотите контролировать время жизни объекта.

Рекомендуемые: