Xcode 4: Создание UIView XIB, не правильно подключается - PullRequest
84 голосов
/ 15 июля 2011

Я пытаюсь создать перо, содержащее представление, которое будет встроено в TableViewCell.Я создал интерфейс и файлы реализации, ResultCell.h и ResultCell.m.Они стандартные, без изменений, без изменений кода.

Затем я создаю пустой файл XIB и перетаскиваю на него UIView.Затем я нажимаю «Владелец файла» и устанавливаю тип ResultCell.Я щелкаю по представлению и устанавливаю для его класса также ResultCell.

Вот мои проблемы:

  1. При использовании представления Assistant Editor (в котором я живу)файл ResultCell.h не отображается при просмотре файла ResultCell.xib.Я должен принудительно загрузить его, нажав «Автоматически» и выбрав файл.
  2. Когда я перетаскиваю метку в виде, а затем Ctrl + Click и перетаскиваю в .h, чтобы создать выпуск, я получаю этосообщение об ошибке: « Не удалось вставить новое выходное соединение: Не удалось найти информацию о классе с именем ResultCell."

Я попытался создать и заново создать представление,и это просто не работает, и я начал терять терпение.Любая помощь будет очень, очень ценится!

Ответы [ 32 ]

0 голосов
/ 20 апреля 2014

У меня возникла эта проблема, и я нашел решение, не указанное выше.

В моем случае я увидел, что в файле класса .h что-то не так, потому что мой пользовательский контроллер представления не распознал класс: UIViewController (он был черным, а не фиолетовым). Все остальные пользовательские контроллеры вида имели: UIViewController, выделенный фиолетовым.

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

После того, как я его добавил,: UIViewController появился в фиолетовом цвете, и все работало нормально.

0 голосов
/ 05 апреля 2014

Для меня ни чистка, ни удаление DerivedData решили проблему.

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

Затем я воссоздал класс UIViewController и дал ему другое имя. Это решило проблему для меня.

0 голосов
/ 23 июля 2013

Я просто попробовал все здесь, и ничего не получалось (с помощью предварительного просмотра разработчика для Xcode 5).

Единственное, что сработало для меня, - это поместить эту неполную строку в мой интерфейсный файл:

@property (nonatomic, weak)

По какой-то причине добавление выпусков и действий путем перетаскивания из .xib работало нормально после этого.

0 голосов
/ 15 июля 2012

Если вы скопировали файлы из другого проекта, просто установите флажок «Добавить к целям»

0 голосов
/ 19 апреля 2017

У меня та же проблема.Перестройка проекта мне помогает Command+B.

0 голосов
/ 02 ноября 2015

В XCode 7.1 добавление коннектора в другой точке моего исходного файла работало.Ошибка, которую я получал, ссылалась на одну из моих переменных, как если бы это был класс (не имело никакого смысла).Ошибка перестала возникать, когда я добавил соединитель ниже этой переменной, а не над ней.

0 голосов
/ 21 января 2013

Аналогичный симптом, но другая причина.

Очевидно, я нажал клавишу Backspace, когда фокус был на виде помощника, потому что одна из стандартных строк комментария шаблона файла переместилась из // в /, что приводит к тому, что файл не компилируется.

Исправление комментария позволило SDK проанализировать файл, распознать его как UIViewController и добавить в вывод.Посмотрите, есть ли ошибки, которые нужно исправить в вашем .h файле контроллера.Затем попробуйте другие решения.

0 голосов
/ 11 ноября 2012

Переименование файлов класса может отсоединить их от XIB.Этот ответ помог мне обнаружить это:

Ctrl-Drag от кнопки к методу не работает.Xcode / Interface Builder

Убедитесь, что ваш собственный класс установлен правильно в Identity Inspector.

0 голосов
/ 29 июля 2016

Существует и другая причина проблемы ... если вы создали новый файл класса какао с шаблоном, отличным от ios ... я могу произойти ...

Решением будет удаление и повторное создание с правильным шаблоном enter image description here

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

Это может быть старая тема, но на случай, если у кого-то возникнет такая же проблема в будущем, попробуйте удалить связанные файлы .xib, .h и .m и создать новые. Для меня UIViewController в моем файле .h не был фиолетовым, и даже пробел и ввод не помогали.

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