Предварительно объявить ns_options в Objective-C - PullRequest
0 голосов
/ 24 мая 2018

Как переслать объявить NS_OPTIONS в Objective-C?

Соответствующий вопрос SO для NS_ENUMS: Перечислите заранее enum в Objective-C

Вопрос без ответа на форуме Apple Dev: https://forums.developer.apple.com/thread/16305

typedef NS_OPTIONS(NSInteger, MSSOption) {
    MSSOptionNone       = 0,
    MSSOptionName       = 1 << 0,
    MSSOptionEmail      = 1 << 1,
    MSSOptionTelephone  = 1 << 2
};

1 Ответ

0 голосов
/ 24 мая 2018

Строго так же, как и для NS_ENUM, поэтому все ответы из enum-объявить в Objective-C действительны.

Чтобы переслать декларацию вашего NS_OPTIONS ,у вас есть два решения:

решение 1

typedef NS_ENUM(NSInteger, MSSOption);

решение 2

typedef NS_OPTIONS(NSInteger, MSSOption);

Оба решения работают нормально.Протестировано с Xcode 9.3.1 и Xcode 10.1.
Демонстрация на https://github.com/Coeur/StackOverflow50499172.

...