因此,我正在向代码库中缓慢添加更多快速文件。 假设我在目标c中上过课:
ListData<Type : CSJSONData *> : ServerData <CSListData>
我想像这样在swift类中将其子类化:
@objc class ArticlesData: ListData<Article>
编译器给我错误:
Generic subclasses of '@objc' classes cannot have an explicit '@objc' because they are not directly visible from Objective-C
Replace '@objc ' with ''
但是我需要它@objc才能在我的objc部分中保持可用!怎么做?
答案 0 :(得分:1)
来自The Swift Programming Language (4.2), Attributes:
编译器将objc属性隐式添加到Objective-C中定义的任何类的子类中。但是,子类不能为通用类,并且不能从任何通用类继承。您可以将objc属性显式添加到满足这些条件的子类中,以指定其Objective-C名称,如下所述。
不幸的是,这很确定。