多个值的一个标识符.可能吗?

And*_*kha 0 c objective-c

我想有一个标识符一次负责几个值.如果我有一个这是我能做的:

if (myVariable == IDENTIFIER)//instead of if(myVariable == 5 || myVariable == 7) if i need A LOT of values
    [myObject doSomething];
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式实施它?

unw*_*ind 5

我认为最接近的是使用位掩码,因此您可以使用具有所有值设置的掩码来表示允许值的集合:

const int ALL_VALUES = (1 << 5) | (1 << 7);
if ((1 << myVariable) & ALL_VALUES)
  [myObject doSomething];
Run Code Online (Sandbox Code Playgroud)

在上面,逐位AND用于计算当前值(看作1位掩码)与所有允许值的掩码之间的交集.请注意,这仅在值的数量(及其实际)小于a中的位数时才有效int.