что вызвать viewDidLoad или loadview - PullRequest
0 голосов
/ 21 мая 2009

У меня есть класс контроллера представления, который загружается из файла .nib. Однако я также хочу добавить элементы управления (например, UISwitch) в это представление программно (UISwitch не добавляется в файл nib). В какой части моего кода я должен выделить элемент управления UISwitch, viewDidLoad или метод loadView?

Ответы [ 3 ]

3 голосов
/ 21 мая 2009

Я бы сделал это на viewDidLoad. Определенно.

Из документации Apple:

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

Если вы создаете вид, этот вид контроллер управляет программно, тогда вы должны переопределить этот метод создать свой взгляд. По умолчанию реализация создает объект UIView без подвидов.

Однако, если вы инициализируете представление используя nib-файл, то есть вы устанавливаете thenibName и nibBundle свойства - тогда вы не должны переопределить этот метод, потому что реализация по умолчанию уже перезагружается файл пера. Вместо этого переопределите Метод viewDidLoad для установки любого свойства после файла пера загружены.

В вашем случае UIView создается из файла NIB .

1 голос
/ 22 мая 2009

Используйте viewDidLoad. Кроме того, вы должны удалить все, что вы добавили в методе viewDidUnload.

0 голосов
/ 22 мая 2009

Если вы загружаете из NIB, реализация loadView вызовет ошибку. Используйте viewDidLoad. Как говорит Пабло, это хорошо задокументировано Apple.

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