2015-10-09 4 views
44

Я создал новый файл Touch Cocoa. Назван он SwipingViewController. enter image description hereXcode 7.1 Swift 2 Неизвестный класс в файле Interface Builder

Затем попробуйте добавить пользовательский класс в ViewController.

И когда я запустить приложение я получаю сообщение об ошибке

2015-10-09 10: 53: 25.054 ParseStarterProject [5369: 389307] Неизвестный класс SwipingViewController в Interface Builder файл.

Unknown class SwipingViewController in Interface Builder file

Похожие: Xcode 6 Strange Bug: Unknown class in Interface Builder file

Вот мой projects files

ответ

120

В раскадровке ниже поля пользовательского класса модуль установлен в None. Изменить что для модуля приложения или просто удалить и снова ввести класс, он должен установить по умолчанию, как это:

+0

спасибо. Это решает проблему. По некоторым причинам у меня нет этого - Current - Parse Project. Я перезаряжаю свой Mac и, возможно, это тоже помогает. –

+0

Спасибо, это помогло при возвращении к унаследованному проекту. – igraczech

+2

Все еще происходит при создании нового проекта в XCode 8.3.2 (для модуля установлено значение None). Но ваше предложение работает. –

0

Я решил эту проблему, применяя вид контроллера Инициализировать. Основная декларация представления View-controller действительно загружала метод и реализацию класса в классе * .swift в раскадровке.

10

Тем не менее, видя эту проблему с XCode 8.2.1, но я могу решить эту проблему путем изменения их в раскадровки XML файл:

  1. Удалить customModuleProvider="target" в ViewController тег:

    - <viewController ... customModule="Flights" customModuleProvider="target" sceneMemberID="viewController"> 
    + <viewController ... customModule="Flights" sceneMemberID="viewController"> 
    
  2. Удалить customModule="Flights" customModuleProvider="target" в виджете тега (в моем случае, а ярлык тег):

    - <label ... translatesAutoresizingMaskIntoConstraints="NO" id="PzF-6K-Hpi" customClass="YZLabel" customModule="Flights" customModuleProvider="target"> 
    + <label ... translatesAutoresizingMaskIntoConstraints="NO" id="PzF-6K-Hpi" customClass="YZLabel"> 
    

Я считаю, что шаг 1 очень важно также, чтобы устранить аварии/предупреждения и не могут быть пропущены.

+2

спасибо, что вы сохранили мой день Мне нужно добавить: customModule = "ObjProject" customModuleProvider = "target" –

14

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

Target Membership

1

я решил подобную проблему, добавив «-ObjC» до «Другие флаги компоновщика» в «Build Settings» моего проекта.

1

У меня была аналогичная проблема. У меня был ViewController с TableView в нем, и пользовательский класс tableView назывался «ViewController». Я просто удалил пользовательский класс для tableView, и ошибка исчезла.

+0

Спасибо. Я решил это, используя ваш метод. Я случайно добавил «MyCustomViewController» к пользовательскому классу как для ViewController, так и для TableView внутри. – user3204765

0

Я решил это, вручную указав имя модуля в раскадровке под именем класса.В моем случае это было то же имя, что и класс, но он может отличаться.

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