Все
Xcode 10.3 и Swift 5.0
У меня сложный проект с 3 целями («Имя», «Проверка имени» и «Имя локальное»)
Я установил все заголовки взаимодействия между Swift и Objective-C, включая Name-Bridging-Header.h
, макросы препроцессора Objc для импорта Name-Swift.h
, Name_Test-Swift.h
или Name_Local-Swift.h
выборочно
#ifdef TEST
#import "Name_Test-Swift.h"
#elif LOCAL
#import "Name_Local-Swift.h"
#else
#import "Name-Swift.h"
#endif
Я импортировал несколько классов Swift, которые я часто использую, и все работает нормально.
Сейчас ....
Я добавил новый класс Swift. Этот новый класс является подклассом NSObject
class NewClass: UIView { }
Но, используя новый класс в Objective-C
классе, XCode не может найти этот новый класс с этими ошибками:
# import "Name-Swift.h"
не распознается.
NewClass *item = [NewClass alloc];
- Неизвестное имя типа 'NewClass'
Я проверил следующее: - Новый класс добавлен во все цели и проверен в Build-Phases -> Compile-Sources section
- Мои другие классы Swift не имеют открытых или @objc идентификаторов, и все работает хорошо ..... Итак, яТем не менее я попытался использовать их в новом классе (@objc и public в определении класса), но безуспешно
Только добавление NewClass *item = [NewClass alloc];
в любой класс Objective-C заставляет Xcode перестать распознавать "Name-Swift.h"
Есть идеи, чего не хватает?