Расширение универсального целевого класса c в классе swift - PullRequest
0 голосов
/ 01 декабря 2018

Так что я медленно добавляю больше быстрых файлов в базу кода.Предположим, у меня есть класс в Objective 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!Как это сделать?

1 Ответ

0 голосов
/ 01 декабря 2018

С Язык программирования Swift (4.2), Атрибуты :

Компилятор неявно добавляет атрибут objc к подклассам любого класса, определенного в Objective-C.Однако подкласс не должен быть универсальным и не должен наследоваться от каких-либо универсальных классов.Вы можете явно добавить атрибут objc к подклассу, который соответствует этим критериям, чтобы указать его имя Objective-C, как описано ниже.

К сожалению, для вас это довольно определенно.

...