Массив самоопределяемого объекта 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.