Массив самоопределяемого объекта swift не может быть преобразован в тип target-c

Новичок, чтобы быстро

Я делаю программу на смешанном языке (Swift & Objective-C) и сталкиваюсь с ошибкой при попытке импортировать Swift в Objective-C

вот мой код

@objc public enum ItemType: Int {
  case left, right
}
public class MyClass {
  @objc var items: [ItemType] = []
}

Здесь ошибка введите описание изображения здесь

Кажется, что-то не так с ItemType но я вижу определение ItemType в моем -swift.h файл

Кто-нибудь может дать мне подсказку?

1 ответ

Перечисления Swift и Objective-c очень различны по своей природе. Старый список Objective-c - это очень небольшое подмножество современного перечисления Swift. В настоящее время компилятор не знает, как использовать перечисление Swift из кода Objective-c, поэтому они не могут иметь тип @objc. MyClass также не может иметь тип @objc, пока он содержит перечисление swift.

Другие вопросы по тегам