Как создать перечисления битовой маски в стиле NS_OPTIONS в Swift?

В документации Apple о взаимодействии с API-интерфейсами C они описывают способ импортирования перечислений в стиле C, помеченных NS_ENUM, как перечисления Swift. Это имеет смысл, и поскольку перечисления в Swift легко предоставляются как тип значения enum, легко понять, как создать наш собственный.

Далее говорится об опциях в стиле C, помеченных NS_OPTIONS:

Swift также импортирует опции, помеченные макросом NS_OPTIONS. Принимая во внимание, что опции ведут себя подобно импортированным перечислениям, опции также могут поддерживать некоторые побитовые операции, такие как &, | и ~. В Objective-C вы представляете пустой набор параметров с постоянным нулем (0). В Swift используйте nil для представления отсутствия каких-либо опций.

Учитывая, что в Swift нет типа значения options, как мы можем создать переменную параметров C-Style для работы?

128
задан jtbandes 23 August 2015 в 18:24
поделиться