метод loadView Vs init - PullRequest
       23

метод loadView Vs init

2 голосов
/ 15 января 2011

Пожалуйста, дайте мне знать, в какое время вызывается метод init и loadView.Насколько мне известно, метод init вызывается только один раз, когда представление инициализируется и loadView вызывается в любое время, когда загружается представление.Таким образом, даже если вы помещаете новое представление в стек представления, а затем извлекаете его, тогда также должен вызываться loadView всплывающего представления.Но когда я запускаю свой код в режиме отладки, оба этих метода вызываются один раз, независимо от того, сколько раз я загружаю один и тот же экран.Пожалуйста, дайте мне знать, если я что-то упустил.

Ответы [ 2 ]

5 голосов
/ 15 января 2011

loadView вызывается, когда вы обращаетесь к свойству view вашего контроллера представления, и оно nil.

Если представление было выгружено (viewDidUnload было вызвано для памяти), тогда loadView будет вызвано снова. Если нет, он не будет вызван.

То, что вы хотите, это viewWillAppear: или viewDidAppear:.

5 голосов
/ 15 января 2011

Вы правы в некоторых моментах :) Метод init вызывается при создании экземпляра объекта ViewController.Метод loadView вызывается каждый раз, когда ViewController должен загрузить свое представление в память .Это может произойти до того, как представление отобразится в первый раз, ИЛИ когда оно должно отображаться в течение второго, третьего ... времени, но ранее было удалено из памяти.(это может произойти, если вашему приложению не хватает памяти.) Если вы хотите выполнять некоторый код каждый раз, когда представление становится видимым, вам следует взглянуть на методы viewWillAppear / viewWillDisappear / viewDidAppear / viewDidDisappear.

...