UIViewController не работает в первый раз - PullRequest
0 голосов
/ 01 сентября 2009

MyController * myViewController = [[MyController alloc] initWithNibName: @ "myView" bundle: nil];

Файл пера myView.nib имеет 2 вида uiimage и 2 uilabels. Когда я впервые запускаю myViewController, все 4 подпредставления устанавливаются как 0x0. Во второй раз я не получаю такого поведения.

Ответы [ 3 ]

3 голосов
/ 01 сентября 2009

Сам объект представления не создается, пока на него не ссылаются через self.view и не вызывается loadView. Может случиться так, что в первый раз, когда вы пытаетесь проверить представление или сделать что-то с ним, этого еще не произошло, а во второй раз может быть после того, как система создаст представление, если вы добавляете его в другое представление или контроллер навигации или что-то.

0 голосов
/ 01 сентября 2009

Кевлар абсолютно прав. Вы можете принудительно загрузить представление и настроить все ссылки с помощью следующего оператора:

if (myViewController.view);

Он ничего не делает, за исключением того, что вы подключите все подпредставления к розеткам.

0 голосов
/ 01 сентября 2009

Возможно, вы забыли подключить представление в вашем Nib-файле к свойству view MyController и / или подключить подпредставления к различным IBOutlets MyController.

...