Интерфейсный конструктор Objective-C не видит переименованный класс - PullRequest
0 голосов
/ 09 апреля 2010

Я переименовал класс UITableViewController в Xcode, который использовался как родительский класс в XIB. Интерфейсный Разработчик все еще использует старое имя для этого класса, и он компилируется и работает отлично. Интерфейсный Разработчик не видит новое имя класса, и когда я пытаюсь ввести вручную, он компилируется и выдает мне исключение во время выполнения: «Неизвестный класс ... в файле Интерфейсного Разработчика».

Есть ли способ обновить имя класса в Интерфейсном Разработчике?

Спасибо

Ответы [ 4 ]

0 голосов
/ 08 августа 2010

У меня иногда возникают проблемы с IB, не замечая изменений в файлах классов.

Затем я перетаскиваю файл .h из XCode в окно с файлом .xib внутри Interface Builder. Это обновляет определение класса.

Вы всегда можете открыть Интерфейсный Разработчик, но приведенное выше решение быстрее.

0 голосов
/ 09 апреля 2010

можно попробовать ...

  1. Очистить и восстановить проект
  2. удалить XIB из проекта и создать новый с новым классом
  3. удалить класс и XIB как из проекта (ссылки), скопировать их в другое место и добавить новый файл с пользовательским интерфейсом XIB в свой проект и скопировать все из старого файла класса в новый файл класса ...

Один из этих трех должен работать ...

0 голосов
/ 09 апреля 2010

Полностью закройте Интерфейсный Разработчик.

И откройте этот XIB из XCode.

Затем отобразится переименованный класс.

0 голосов
/ 09 апреля 2010

Вы пытались выбрать «Файл -> Перезагрузить все файлы классов» в Интерфейсном Разработчике? Может быть, это должно работать!

...