Невозможно загрузить UIView с initWithNibName в Apple SDK 3.1.3 - PullRequest
0 голосов
/ 28 марта 2010

Я пытаюсь загрузить свой UIViewController и соответствующий UIView программно в классе AppDelegate. У меня есть следующее в applicationDidFinishLaunchingMethod класса AppDelegate:

  • (void) applicationDidFinishLaunching: (UIApplication *) application {
    NSLog (@ "--- AppDelegate applicationDidFinishLaunching Start");

    // Точка переопределения для настройки после запуска приложения // MainController * controller = [[MainController alloc] initWithNibName: @ "MainView" bundle: nil]; MainController2 * controller = [[MainController2 alloc] initWithNibName: @ "MainView2" bundle: nil];

    if (controller.view == ноль) { NSLog (@ "--- представление контроллера равно nil !!!!!!"); } [окно addSubview: controller.view]; [window makeKeyAndVisible];

    NSLog (@ "--- AppDelegate applicationDidFinishLaunching End"); }

По сути, представление в viewController не загружается, и при запуске приложения просто показывает пустое окно. Что смешно, так это то, что раньше он работал, а потом просто перестал работать. Мне интересно, если это ошибка в iPhone SDK 3.1.3 ??? Это действительно раздражающая проблема, и я был довольно далеко в новом проекте, когда у меня возникла эта проблема, и мне пришлось начинать сначала с пустого проекта и копировать все свои ресурсы, когда это начало происходить снова ... Я удалили iPhone OS 3.1.3 и переустановили, и проблема остается ...

Я также создал второй класс UIViewController и соответствующий кончик, который прекрасно загружается ... Я не уверен, почему один работает, а другой - нет ...

Вы можете скачать пример проекта, демонстрирующий эту проблему, по следующей ссылке:

http://www.mediafire.com/?nmhnmhbeyki

Для переключения между рабочим / нерабочим UIViewController и UIView просто закомментируйте / закомментируйте строки initWithNibLine в AppDelegate и соответствующие операторы #import "MainController.h" в файле appdelegate.h ...

Есть идеи ???

Пример проекта, с которым я связался, изолирует проблему в как можно меньшем количестве файлов / строк кода ... Я ценю любую помощь, которую вы можете оказать.

Спасибо, Джеймс

1 Ответ

1 голос
/ 29 марта 2010

MainController переопределяет «loadView», но его реализация «loadView» фактически ничего не загружает (или не вызывает [super loadview]). Следовательно, нет представления.

...