Должен ли IBOutlets быть сильным или слабым в ARC? - PullRequest
535 голосов
/ 06 октября 2011

Я занимаюсь разработкой исключительно для iOS 5 с использованием ARC.Должно ли IBOutlet с UIView с (и подклассами) быть strong или weak?

Следующее:

@property (nonatomic, weak) IBOutlet UIButton *button;

Избавится от всего этого:

- (void)viewDidUnload
{
    // ...
    self.button = nil;
    // ...
}

Есть ли проблемы с этим?Шаблоны используют strong, так как автоматически генерируемые свойства создаются при подключении напрямую к заголовку из редактора Interface Builder, но почему?UIViewController уже имеет ссылку strong на view, которая сохраняет свои подпредставления.

Ответы [ 11 ]

4 голосов
/ 04 декабря 2012

Я думаю, что самая важная информация: Элементы в xib автоматически находятся в подпредставлениях просмотра. Subviews является NSArray. NSArray владеет своими элементами. и т.д. имеют сильные указатели на них. Поэтому в большинстве случаев вы не хотите создавать другой сильный указатель (IBOutlet)

А с ARC вам не нужно ничего делать в viewDidUnload

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...