Я только что построил небольшой тестовый проект. С помощью GC объект, созданный с помощью Interface Builder, собирается вскоре после этого. Таким образом, ответ на вопрос: да .
Я провел немного больше испытаний:
При классическом подсчете ссылок этого не происходит. Возможно, это то, что и следовало ожидать, но это также, вероятно, утечка памяти. Не уверен здесь. (Если нет, и содержащиеся в NIB / XIB объекты освобождаются, когда освобождается владелец файла, например, тогда это будет представлять собой существенную разницу в поведении между GC и классическим RC.)
С включенным ARC я не нашел способа сказать. Вероятно, есть какая-то функция, на которой я мог бы поставить точку останова и подождать, пока конкретный объект пролетит мимо.
Edit:
Я просмотрел документацию, и в ней достаточно ясно сказано. Пропустил тот первый раз:
Обычно вам нужны сильные ссылки на объекты верхнего уровня, чтобы гарантировать, что они не освобождаются; вам не нужны сильные ссылки на объекты внизу графика, поскольку они принадлежат их родителям, и вы должны минимизировать риск создания сильных ссылочных циклов.
От: Руководство по программированию ресурсов, Управление временем жизни объектов из файлов пера