0

我是 cocoa 和 enums 的新手,我在一个 enum 中有超过 64 个值。我必须对其执行按位 & 和 OR。

例如:(假设这个枚举有超过 64 个值)枚举 { apple = 0, orange, pineapple, grapes, .. ... ... }

我有一个字典中的项目列表说,Required Fruits = {apple,pineapple} 我必须获取当前正在使用的水果并检查它是否出现在Required Fruits 列表中,比如说我是否有一个有价值的苹果检查苹果是否在必需水果中。

所有这些都必须使用按位运算来执行。(苹果 | 菠萝) & 苹果

但是我在枚举中有超过 64 个值。可以对超过 64 个值的枚举执行按位运算吗?请帮助我。任何有关此的信息都会有很大帮助。

4

1 回答 1

0

简短的回答:没有

更长的答案:

将枚举用作位字段仅限于可用于枚举的基础类型的最大整数大小,通常为 64 位。因此,您需要考虑替代方法来实现您所需要的。

例如:对于高级解决方案,请考虑NSSet's 的常量字符串。有关基于位的低级解决方案,请查看bitstringC 库。

高温高压

于 2013-08-27T01:05:06.903 回答