Подтвердить что ты не робот

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

Я использую Xcode 6.2 для проектов iOS. В более старых версиях Xcode, когда соединение создавалось для IBOutlet, оно всегда было слабым хранилищем. Теперь, когда я создаю связи, они по умолчанию не могут быть сильными. Я оставляю это таким образом и не замечаю никакой разницы.

Какая версия Xcode по умолчанию изменилась на сильную и почему?

4b9b3361

Ответ 1

Да, ранее выходы должны быть слабыми, но Apple изменила это. Теперь они рекомендуют использовать выходы strong на сессии WWDC 2015 Внедрение дизайна пользовательского интерфейса в построителе интерфейса. Единственная причина почему она может быть слабой, - это сохранение цикла.

Ответ 2

В большинстве случаев не имеет значения слабый или сильный выход. Вы просто убедитесь, что у вас нет сильных эталонных циклов.

Subviews не должны иметь мощных выходов для своих супервизоров, и представление не должно иметь сильного выхода к его контроллеру, потому что супервизор уже имеет сильную ссылку на его подпункты, и контроллер имеет сильную ссылку на его представление.