Когда Swift импортирует обычные C-перечисления, случаи импортируются как глобальные константы.
Как если бы это было следующим образом:
let A = Foo(1)
let B = Foo(2)
Вы можете использовать их следующим образом:
var someFoo: Foo = A
Я не уверен, почему эти константы не включены в сгенерированный интерфейс.
Если вы можете прикоснуться к вашему файлу .h и импортировать некоторые заголовки для классов Objective-C, вы можетеиспользуйте макрос NS_ENUM
.
typedef NS_ENUM(NSInteger, Bar) {
A = 1,
B = 2
};
Сгенерированный заголовок будет выглядеть так:
public enum Bar : Int {
case A
case B
}
(Сгенерированный интерфейс не показывает rawValue
с, но они равны 1 и 2соответственно как в оригинальном коде.)
Но мне интересно, может ли это быть вашим вариантом.