Можно ли явно объявить, что исходный файл Swift не включен в заголовок сгенерированного интерфейса Objective-C? В качестве примера, скажем, у меня есть этот класс Swift
class MyViewController: UIViewController {
}
В моем сгенерированном заголовке MyApp-Swift.h
я вижу это
SWIFT_CLASS("_TtC4MyApp16MyViewController")
@interface MyViewController : UIViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end
Однако я бы предпочел, чтобы этот класс не был представленв цель-C. Я работаю в более крупном приложении, и наш сгенерированный файл -Swift.h
занимает более 8000 строк. Это приводит к тому, что инкрементные сборки становятся болезненными, когда что-то, что требует только перекомпиляции кода Swift, в итоге вызывает перекомпиляцию кода Objective-C также просто потому, что этот заголовочный файл изменился.
@nonobjc
к сожалениюне работа. Я получаю ошибку '@nonobjc' attribute cannot be applied to this declaration
.