Должен ли IBOutlet быть слабым или сильным var?
Я использую Xcode 6.2 для проектов iOS. В более старых версиях Xcode, когда соединение создавалось для IBOutlet, оно всегда было слабым хранилищем. Теперь, когда я создаю связи, они по умолчанию не могут быть сильными. Я оставляю это таким образом и не замечаю никакой разницы.
Какая версия Xcode по умолчанию изменилась на сильную и почему?
Ответы
Ответ 1
Да, ранее выходы должны быть слабыми, но Apple изменила это. Теперь они рекомендуют использовать выходы strong на сессии WWDC 2015 Внедрение дизайна пользовательского интерфейса в построителе интерфейса. Единственная причина почему она может быть слабой, - это сохранение цикла.
Ответ 2
В большинстве случаев не имеет значения слабый или сильный выход. Вы просто убедитесь, что у вас нет сильных эталонных циклов.
Subviews не должны иметь мощных выходов для своих супервизоров, и представление не должно иметь сильного выхода к его контроллеру, потому что супервизор уже имеет сильную ссылку на его подпункты, и контроллер имеет сильную ссылку на его представление.