Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «- [UIViewController loadView] загрузил перо, но представление не было установлено - PullRequest
2 голосов
/ 26 декабря 2008

Из того, что я понимаю о SDK, это исключение возникает, когда привязки в IB неверны. Но в моем случае вид загружается нормально первые два раза. Затем я возвращаюсь назад, используя NavigationController.

В третий раз, когда я пытаюсь открыть представление, я получаю это исключение. Тот факт, что он открывается правильно первые два раза, означает, что привязки верны, и вид в порядке! Но тогда почему это терпит неудачу третий раз?

Есть указатели? Спасибо.

Я звоню -initWithNibName:bundle:, чтобы инициализировать представление, созданное в IB. Не вызывать метод -loadView.


Это не сбор мусора. AFAIK, в iPhone SDK нет сборки мусора, и нам нужно явно разобраться с вещами.

Ответы [ 3 ]

8 голосов
/ 28 октября 2009

Похоже, вы не связали представление с владельцем файла.

Для исправления этой вещи откройте XIB, которую вы используете в этом ViewController. Щелкните правой кнопкой мыши по основному представлению и затем привяжите это представление к свойству представления владельца файла.

2 голосов
/ 26 декабря 2008

Возможно, у вас недостаточно памяти, что вынуждает систему отправлять сообщения о нехватке памяти экземплярам контроллера представлений. Реализация по умолчанию -didReceiveMemoryWarning очищает переменную члена представления. Теоретически, в следующий раз, когда требуется представление, оно должно быть восстановлено, но вы могли переопределить что-то, что этому препятствует.

0 голосов
/ 26 декабря 2008

Возможно, объект вида выходит из области видимости и получает мусор.

...