Представление ViewController - PullRequest
       0

Представление ViewController

0 голосов
/ 18 января 2011

Приводит ли представление ViewController к тому, что представленный контроллер запускает свой метод viewDidLoad?

Если загружен view1 и представлен другой.Тогда что-то вызывает представление представления1.Будет ли он выполняться через метод viewDidLoad?

ЕСЛИ не как это сделать?ViewDidAppear

Ответы [ 2 ]

4 голосов
/ 18 января 2011

Основываясь на том, что передавал Джесси, viewDidLoad вызывается, когда представление загружается в память (обычно первый раз, когда контроллер представления собирается представить после запуска приложения - упрощено, но пока этого будет достаточно).

Когда вы отображаете другие контроллеры представления, а затем возвращаетесь к этому оригинальному контроллеру представления «view1», если только не было события памяти, которое выбросило его из памяти, он НЕ вызовет viewDidLoad снова.

Вместо этого он будет вызывать следующее по порядку:

  1. viewWillAppear:
  2. viewDidAppear:

В viewWillAppear: у вас есть возможность сделать что-то "за пределами экрана", прежде чем отобразится ваш контроллер вида.

В viewDidAppear: вы можете выполнять дополнительные операции, которые подходят для случая, когда представление контроллера представления уже видно. Например, вы хотите запустить небольшую анимацию, которую пользователь увидит, когда контроллер представления станет полностью видимым.

В обоих этих методах убедитесь, что вы вызываете реализацию super, прежде чем что-либо делать. Кроме того, чтобы узнать об этом жизненном цикле, установите точку останова или оператор NSLog () в каждом из этих методов (viewDidLoad, viewWillAppear, viewDidAppear), чтобы видеть, когда они вызываются.

В документах Apple по View Controllers есть концептуальная часть, которая стоит 20 минут чтения - она ​​прояснит большую часть этой ключевой информации жизненного цикла о View Controllers, и это central to iOS разработка. См. Раздел «Общие сведения о жизненном цикле управления представлением» по адресу:

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html%23//apple_ref/doc/uid/TP40007457-CH101-SW1

1 голос
/ 18 января 2011

viewDidLoad вызывается только тогда, когда представление загружено в память.Обычно он появляется впервые (может быть чаще, если есть дампы памяти и т. Д.).

viewDidAppear: вызывается каждый раз, когда представление viewController становится «активным» представлением в окне.

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