Я недавно много читал здесь и на других сайтах о том, должны ли IBOutlets быть сильными или слабыми. Официальный вердикт заключается в том, что они должны быть слабыми, за исключением случаев, когда они ссылаются на объекты xib верхнего уровня.IBOutlets Сильный или слабый - действительно ли это имеет значение для управления памятью? (ARC)
Это прекрасно.
Однако у меня еще нет четкого представления о том, почему установка их на сильный или слабый фактически повлияет на управление памятью приложения. В частности, похоже, что с iOS6, viewDidUnload больше не вызывается при получении предупреждения о памяти, поэтому в этом смысле выбор слабых или сильных для IBOutlets не имеет значения.
Я правильно понимаю, что для контроллеров представлений больше нет в стеке навигации (т.е. после того, как они были загружены, а затем вытолкнуты), что тогда будут объявлены какие-либо IBOutlets, объявленные как слабые?
Спасибо за понимание!
в общем, вы держите РОЗЕТКИ 'weak', если они имеют статический' superview' уже (что сохраняет вид живых до тех пор, пока они являются частью вида и иерархии это не приведет к сильному сохранить цикл), и если какое-либо представление добавляется/удаляется из любого 'view', то ссылка' strong' лучше, чтобы убедиться, что представление сохранено до тех пор, пока вы не захотите его окончательно отпустить. – holex