Почему этот просмотр контроллера не инициируется?(НЕ БЕРИТЕ В ГОЛОВУ) - PullRequest
2 голосов
/ 19 июня 2010

Пытаясь отладить, почему контроллер представления запускается пустым, я оказался в странном месте.Проверьте это:

OffersSearchController *searchController = [[OffersSearchController alloc]
        initWithNibName:@"This is a completely bogus nib name."
             bundle:nil];

Ни одной жалобы.Я видел, как эта конструкция рушится с жалобами на невозможность найти перо с именем «Это полностью поддельное ...», но не в этот раз.Вместо этого мой searchController выдвигает на контроллер навигации, как будто он успешно загрузился.Однако он пуст - я вижу полный экран другого представления, которое (случайно!) «Под» моим стеком UINavigationController.

Что здесь происходит?[OffersSearchController alloc] возвращается ноль по какой-то причине?

РЕДАКТИРОВАТЬ: не имеет значения.Вот урок: не реализуйте loadView, когда вы хотите реализовать viewDidLoad.Oy.Длинная неделя.

Ответы [ 2 ]

1 голос
/ 19 июня 2010

Вот ответ (спасибо @Eric Petroelje за предложение опубликовать и принять ответ).

В период послеполуденной продуктивности в конце пятницы, двигаясь намного быстрее, чем рекомендуется, я настроил инициализаторы своих свойств и массивы источника данных колеса выбора в -(void)loadView, а не в -(void)viewDidLoad.

Вместо вызова initWithNibName: для loadView, которому разрешено распространяться до UIViewController, он успешно инициализировал мои поля, и все.

0 голосов
/ 19 июня 2010

В документации для UIViewController initWithNibName:bundle ничего не говорится о том, что произойдет, если указанное имя пера недействительно.Предположительно, неверное имя пера трактуется так же, как и ноль.Однако в нем говорится, что возвращаемое значение всегда является инициализированным UIViewController.

Итак, этот код выполняет выделение / инициализацию нового OffersSearchController без nib.Представление выглядит пустым, потому что это так.Вы, вероятно, никогда раньше не видели этот сбой, потому что он не должен;то, что происходит, совершенно нормально.

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