Почему 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 означает, что вы хотите «владеть» объектом, на который вы ссылаетесь с этим свойством/переменной. Напротив, при слабомссылка означает, что вы не хотите контролировать время жизни объекта.

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

Интересные статьи
Должны ли проценты включаться в расчет чистой приведенной стоимости?
Подробнее

Должны ли проценты включаться в расчет чистой приведенной стоимости?

Правило NPV не требует вычета процентных расходов (после уплаты налогов) и выплаты дивидендов при расчете операционных денежных потоков. … Следовательно, процентные расходы (после уплаты налогов) и выплаты дивидендов должны вычитаться из тех денежных потоков, которые используются в правиле чистой приведенной стоимости при составлении бюджета капитала.

Сможет ли Бэтмен победить Хоумлендера?
Подробнее

Сможет ли Бэтмен победить Хоумлендера?

6 HOMELANDER ПОБЕЖДАЕТ: Бэтмен Каким бы умным ни был Бэтмен, он все равно не смог бы победить Хоумлендера. … Несмотря на то, что Бэтмен и раньше выступал против Супермена, он никогда по-настоящему не побеждалЧеловека из стали, особенно на полной мощности.

Почему звездчатка вредна?
Подробнее

Почему звездчатка вредна?

Все его части съедобны - листья, стебли и цветы, но, как и все кормовые растения, его следует есть только в умеренных количествах. Большие количества могут вызвать расстройство желудка. И никогда не ешьте его с газона, обработанного химикатами.