Что вызывает viewDidLoad при создании подкласса UIViewController? - PullRequest
2 голосов
/ 11 августа 2011

Попытка разобраться с протоколами и делегатами при расширении его в реализации инфраструктуры UIKit.

Насколько я понимаю, это сообщение о переполнении стека метод делегата обычно имеет в названии значение "Сделано, должно и будет".

Исходя из этого, я бы предположил, что - (void)viewDidLoad;, объявленный в UIViewController.h, является методом делегата, но что и откуда?

Я посмотрел на заголовочный файл UIViewController, и он придерживается только протокола NSCoding, который является тупиком. Насколько я вижу, суперкласс UIRiewController в UIResponder также является тупиком.

В качестве примера я использовал viewDidLoad, но это может относиться к любому из методов «Сделано, должно и будет» в UIViewController.

Это просто один из тех случаев, которые являются исключением из руководящих принципов, или я что-то упустил?

1 Ответ

1 голос
/ 11 августа 2011

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

viewDidLoad вызывается, когда ваш файл .nib был загружен в память, а ваши IBOutlets были созданы и подключены и готовы к настройке. вам не нужно беспокоиться о том, чтобы вызывать его самостоятельно, если вы намереваетесь создать подкласс UIViewController, если это то, что вам интересно.

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