awakeFromNib вызывается более одного раза - PullRequest
2 голосов
/ 27 апреля 2011

Это сводит меня с ума.
У меня сложилось впечатление, что метод awakeFromNib вызывается только один раз (даже при повторном посещении этого представления), поправьте меня, если я ошибаюсь.

У меня есть приложение с 3 представлениями.Последний является подклассом UIview, где я рисую с использованием drawRect.

У меня был рабочий код с методом awakeFromNib в последнем представлении, причем метод вызывался только один раз, сколько раз я посещаю представление.
Теперь я развертываю приложение на своем устройстве и обновляю свой XCode до версии 4.

Когда я снова запускаю код и отлаживаю, метод awakeFromNib вызывается при каждом посещении представления.
IНе думаю, что обновление сделало бы такую ​​сумасшедшую вещь, но я полностью сбит с толку.

Есть ли какая-то утечка памяти или я что-то упустил?

Спасибо

1 Ответ

5 голосов
/ 27 апреля 2011

У меня сложилось впечатление, что метод awakeFromNib вызывается только один раз (даже при повторном посещении этого представления), исправьте меня, если я ошибаюсь.

-awakeFromNib будет вызываться для каждого экземпляра класса всякий раз, когда экземпляр этого класса загружается из файла пера. Вы должны быть в состоянии ожидать, что он будет вызываться только один раз в конкретном экземпляре, но должен обрабатывать его многократный вызов в разных экземплярах любого данного класса.

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

Похоже, вы не ожидаете, что изображение контроллера будет выгружено и перезагружено с вашего пера.

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