Подтвердить что ты не робот

Xcode не сразу распознает новые классы (iOS)

Я работаю с Xcode около 5 месяцев, и недавно я столкнулся с проблемой, когда добавляю новый класс. Если я добавлю новый класс, скажем, например, "CustomCell", и я пытаюсь импортировать "#import CustomCell.h" в другой файл .m, он даст мне сообщение об ошибке "Файл CustomCell.h не найден", даже если он прав там в списке. У меня не было никаких проблем с этим в прошлом, и я знаю, что я делаю, когда речь заходит о импорте (по крайней мере, я не изменил способ, которым ранее занимался, когда работал).

У меня была эта проблема несколько раз недавно, и иногда, если я просто закрываю XCode и перезапускаю ее, она узнает класс. У кого еще возникла эта проблема? Есть ли быстрый способ просто обновить проект, чтобы узнать, может ли Xcode распознать новый класс?

4b9b3361

Ответ 1

Закройте все ваши проекты, откройте организатор (из меню окна), убедитесь, что выбран правильный проект, а затем напротив "производных данных" нажмите "Удалить".

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

Ответ 2

Несколько целей: Убедитесь, что ваш файл принадлежит к необходимым целям!


Для нового файла убедитесь, что установлены соответствующие целевые объекты.

xCode Screenshot


Для существующего файла проверьте инспектор файлов, чтобы проверить целевое членство.

xCode Screenshot

Ответ 3

У меня была та же проблема, что и Xcode, не видя какого-либо нового класса, который я создал для приложения Watch OS2, над которым я работаю.

В конце концов я понял, что видел новые классы, которые я создал в каталоге "extension", но каждый класс, который я создал в каталоге "app" моего проекта, не показывался.

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

Надеюсь, что это поможет любому другому игроку, работающему над созданием часов.

Ответ 4

Для тех, кто имеет дело с одной и той же проблемой, и вышеупомянутое решение не удалось решить, убедитесь, что у вас нет

циклический импорт

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