Подтвердить что ты не робот

ViewDidLoad(), LoadView()

В чем разница между viewDidLoad() и LoadView()? Каким образом они отличаются друг от друга?

Какой из них лучше при разработке приложений без использования XIB?

Спасибо.

4b9b3361

Ответ 1

Если вы разрабатываете приложения без использования метода xib LoadView(), и если есть xib, то метод ViewDidLoad вызывается

Так что лучше использовать метод LoadView.

Ответ 2

ViewDidLoad вызывается при завершении загрузки вида и вызывается loadView при запуске загрузки.

И когда вы создаете новый проект, вы видите комментарии к этим методам, которые явно дают подсказку, когда вы должны использовать какую функцию

см. это

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/

Эти комментарии понятны и понятны.

Ответ 3

viewDidLoad()

следует использовать, когда вы загружаете свое представление из NIB и хотите выполнить любую настройку после запуска.

LoadView()

должен использоваться, если вы хотите создать свое представление программно (без использования Interface Builder).

Ответ 4

Если вы собираетесь использовать IB для создания пользовательского интерфейса, вы должны выполнить всю свою инициализацию после IB в viewDidLoad. Класс не будет вызывать loadView вообще, если вы используете nib для инициализации контроллера.

Если вы инициализируете контроллер в коде, viewController сначала вызовет loadView, а затем viewDidLoad. Вы можете выполнить всю свою инициализацию в loadView или viewDidLoad в зависимости от ваших предпочтений.

Однако, если вы решите использовать loadView, не забудьте установить свойство view перед попыткой прочитать self.view, иначе вы войдете в бесконечный цикл и сбой.

Ответ 5

Если вы инициализируете свой вид из файла stroyboard или xib, не переопределяйте этот метод или не вызывайте [super loadView] внутри. если вы вызываете [super loadView] внутри метода, лучше не переопределять этот метод и поместить следующий код в ваш метод viewDidLoad.

если вы программно инициализируете свое представление, вы НИКОГДА не должны называть [super loadView]. и вы должны назначить свой rootView для свойства self.view, или вы можете получить идеальный сбой.

Ответ 6

Разве это не очевидно?

viewDidLoad вызывается... Когда представление завершает загрузку.

loadView вызывается при загрузке представления.

Ничего лучше или хуже. Все зависит от вашего дизайна.

Удачи:)

Ответ 7

диспетчер просмотра загружает свой вид из связанного с ним связанного элемента, если нет связанного ниба, тогда он автоматически вызывает метод loadView(), чтобы заполнить его View. В этом случае вам необходимо реализовать метод loadView(). по умолчанию он возвращает nil

Когда ваш просмотр загружается в память, здесь вызывается методDidLoad(), вы можете выполнить свою пользовательскую инициализацию в соответствии с вашим требованием.