2013-07-10 4 views
0

Я пытаюсь дать объекту в построителе интерфейса собственный класс. При вводе имени класса в Identity Inspector он автоматически заканчивает строку как уже присутствующую в раскрывающемся списке доступных классов. Однако после ввода класса страница создает изображение на замке и очищает имя класса.Изменение класса объекта в XCode

В чем причина этого и как его исправить?

+0

ли вы пробовали с UIView? –

+1

Пользовательский класс, который вы пытаетесь заменить, должен быть подклассом подлежащего замене элемента. –

+0

Файл является подклассом UITableViewCell – Imran

ответ

3

во-первых, вы должны перезагрузить Xcode

, если он не работает, вы должны иметь подкласс ассоциированных с ним в IB

Создать CustomClass: UITableViewCell затем падение UITableViewCell к IB, а затем просто введите имя Если выпадающий список не отображать, перезагружать Xcode

+0

Там пользовательский класс, определенный в файле .h, как' @interface SimpleTableCell: UITableViewCell' Неправильно ли это? Также как мне перезагрузить XCode? Просто перезапустить приложение или есть другой способ? – Imran

+0

Вы уверены, что перетащите и перетащите именно UITableViewCell в IB и щелкните по нему перед именем класса типа в Identity Inspector? – crz

2

Предполагая, что у вас есть конкретный объект IB (например, прототип динамической ячейки, класс по умолчанию - UITableViewCell), и ваш собственный класс определен правильно (как подкласс UITableViewCell, сам), затем У меня есть пара мыслей o f что вы можете попробовать:

  • Иногда достаточно выходить и перезапускать Xcode.

  • попробовать также выбрать "Clean" в меню "Build" (или нажмите сдвиг + команды ⌘ + K).

  • В худшем случае, иногда вам нужно выйти из Xcode и удалить папку DerivedData, а затем перезапустить Xcode. Для того, чтобы найти производную папку данных, нажмите команда ⌘ + , (запятая) и перейти на последнюю вкладку, «Места», и нажмите на стрелку рядом с «Derived Data» папки:

    enter image description here

    Выбрав эту папку в Finder, закройте Xcode, удалите содержимое этой папки DerivedData в Finder (после, покидая Xcode), а затем перезапустите Xcode и повторите попытку.

0

Я думаю, что я нашел решение (не уверено, если я нашел исправления для реальной проблемы или просто нашел способ вокруг него) ...

Я изменил настройки выпадающих блокировок для Nothing и теперь он позволяет мне установить свой собственный пользовательский класс для объекта в файле. Странно, что блокировка документа ранее была установлена ​​на Inherit (Nothing), так что не уверен, какая разница здесь.

enter image description here

Смежные вопросы