View для конкретного iPad вылетает при запуске - PullRequest
0 голосов
/ 26 августа 2011

Я пытаюсь научиться программировать на iOS (4.3) и застрял на этом.Я использую приложение для Windows, и оно настроено на то, что оно использует вид iPhone и iPad.

Он падает:

self.window.rootViewController = self.viewController;

И я получаю сообщение об ошибке

'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "SwitchViewController" nib

Однако розетка вида не была установлена.

Большинство вещей для этой ошибки говорят о том, что ваш вид правильно подключен к контроллеру, а мой - подключен.Код отлично работает для iPhone, он не работает для iPad.Делегаты и другие соединения одинаковы в каждом представлении, что может быть проблемой, но я не знаю, что должно быть другим.

Я использую соглашение об именах здесь для загрузки представлений для разных ОС.Я подумал, что это означает, что программа автоматически выберет правильное представление, если к концу имени добавлен _iPhone / _iPad, и его поведение изменилось, когда я добавил представление iPad, так что я думаю, что оно достигает этого.

Код iPad работал с общим представлением до того, как я разделил представления между iPhone (изначально общим представлением) и iPad, и я не изменил никакого кода при добавлении представления.

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Я переделал свой код в новом проекте, и он сразу заработал. Что-то не так с оригинальным проектом.

0 голосов
/ 26 августа 2011

В вашем - (id) initWithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil добавьте эту строку в начале:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) nibNameOrNil = @"iPadXibName";

и убедитесь, что в xib ipad есть все нужныеподключены розетки (что, вероятно, имеет место, если это работает как реализация только для ipad, но вы, возможно, добавили что-то или забыли добавить что-то при объединении версий iphone и ipad).

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