Загруженный наконечник, но выход «view» не установлен - PullRequest
695 голосов
/ 21 января 2011

Я добавил новый файл пера в свой проект и попытался загрузить его.

Однако, когда я нажимаю на значок панели инструментов, который должен привести меня к созданному мной представлению, я получаюNSInternalInconsistencyException с сообщением:

Завершение приложения из-за необработанного исключения 'NSInternalInconsistencyException', причина: '- [UIViewController _loadViewFromNibNamed: bundle:] загрузил перо "...", но вывод представления былне задано. '

Итак, я открыл свой nib-файл и вижу, что не установлены ссылки на розетки.Тем не менее, я пытаюсь щелкнуть и перетащить круг для «новой ссылки на источник» в Владелец файла, но это не позволит мне ... что мне нужно сделать, чтобы мой вид отображался?

Ответы [ 27 ]

4 голосов
/ 28 июля 2011

Просто потратил больше часа, пытаясь выяснить, почему мое свойство view не установлено в моем контроллере представления при его запуске из nib.Не забудьте вызвать «[super initWithNibName ...]» внутри initWithNibName контроллера представления.

3 голосов
/ 22 апреля 2016

Я столкнулся с той же проблемой, когда случайно удалил ссылку на xib и добавил ее снова. Я просто исправил это, установив соединение между владельцем файлов и представлением. Также убедитесь, что пользовательский класс FilesOwner является вашим ожидаемым viewController.*

3 голосов
/ 11 октября 2011

У меня также была та же проблема, и моя проблема заключалась в том, что я добавил другую локализацию (английский) в перо ViewControllers, чтобы мое приложение с немецким языком локализации не смогло найти перо с английским языком локализации !!Надеюсь, это кому-нибудь поможет!

1 голос
/ 17 декабря 2015

В моем случае указанный инициализатор - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil в классе *** ViewController был реализован, поэтому даже если я вызываю другой инициализатор для инициализации объекта, будет вызван указанный инициализатор.

Таким образом, чтобы решить эту проблему, проверка - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil также является правильным способом.

1 голос
/ 22 февраля 2015

Сегодня вечером я столкнулся с чем-то очень похожим с подклассом Swift UIViewController. В этом случае ни одно из вышеперечисленных исправлений не сработало, но немного переупорядочил мой код. Net-net, имеющий расширение до подкласса, происходит до того, как само определение подкласса в том же файле, похоже, сбивает с толку XCode, несмотря на хорошую компиляцию; исправление заключалось в размещении расширений после определения подкласса.

Я отправил подробности в ответ на этот похожий вопрос .

1 голос
/ 31 декабря 2011

Для меня проблема была вызвана вызовом initWithNibName:bundle:.Я использую ячейки табличного представления из файла пера, чтобы определить формы ввода, которые находятся на tableViews.Поскольку у меня нет представления, не имеет смысла подключаться к одному.Вместо этого, если я вместо этого вызываю метод initWithStyle:, а изнутри я загружаю файл пера, тогда все работает как положено.

1 голос
/ 04 мая 2012

У меня была та же проблема, но требовалось немного другое решение. Проблема в этом случае заключалась в классе владельца файла, а не в классе представления. Чтобы установить это, я должен был щелкнуть значок «Воспроизведение в обратном направлении» в левом нижнем углу окна Interface Builder, и затем появились параметры, которые изолировали характеристики владельца файла, первого ответчика и представления. Нажав на первый (большой прозрачный прямоугольник), я смог установить его собственный класс, как предложено выше.

1 голос
/ 05 января 2013

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

0 голосов
/ 22 марта 2013

Я бы хотел второй Стивен Дж. Иногда X Code просто запутывается. У меня просто был опыт, когда я много играл с пользовательским интерфейсом, и несколько раз добавлял и удалял розетки. Розетки просто больше не будут подключаться. Я никогда не выяснял конкретную причину (я пробовал все решения выше), и мне просто нужно было удалить NIB и воссоздать его с нуля, и фактически пришлось использовать другое имя для NIB, прежде чем он будет работать. (XCode 4.6.1) Потратил на это пару часов.

0 голосов
/ 19 сентября 2016

У меня была та же проблема, я понял, и это потому, что я поставил галочку " Статические ячейки " в свойствах Просмотр таблицы в Параметр содержимого .Сработало, когда оно изменилось на "Dynamic Prototypes".Снимок экрана ниже.enter image description here

...