В документации Apple о взаимодействии с API-интерфейсом C они описывают, как перечислены индексы C-style NS_ENUM, импортируемые как перечисления Swift. Это имеет смысл, и поскольку перечисления в Swift легко представлены как тип значения enum, легко увидеть, как создать наш собственный.
Далее, он говорит об NS_OPTIONS -знаках C-style:
Swift также импортирует параметры, отмеченные макросом
NS_OPTIONS. В то время как параметры ведут себя аналогично импортированным перечислениям, параметры также могут поддерживают некоторые побитовые операции, такие как&,|и~. В Objective-C, вы представляете пустую опцию с постоянным нулем (0). В Swift используйтеnilдля представления отсутствия каких-либо параметров.
Учитывая, что в Swift нет типа значения options, как мы можем создать переменную параметров C-Style для работы с?