2015-04-02 3 views
20

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

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

ответ

7

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

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

22

Да, ранее выходы должны быть слабыми, но Apple изменила это. Теперь они рекомендуют использовать сильные торговых точек на сессии WWDC 2015 Implementing UI Designs in Interface Builder. Единственный reason, почему он может быть слабым, - это сохранение цикла.

+0

С Xcode 8.3.1 IBOutlets, созданные в IB, являются 'слабыми var' – neoneye

+0

Ведущий проходит сильные/слабые соединения примерно в 32:30 в презентации. Тем не менее, я очень рекомендую посмотреть все это - тонны полезной информации, особенно если вы новичок в разработке iOS :) – FateNuller

 Смежные вопросы

  • Нет связанных вопросов^_^