2013-08-26 62 views
0

我是新來的可可和枚舉,我在枚舉中有超過64個值。 我必須按位執行&和OR。枚舉值超過64的按位運算

對於例如:(假設該枚舉具有多於64個值) 枚舉{ 蘋果= 0, 橙,菠蘿 , 葡萄, .. ... ... }

我有一個詞典中的項目列表說,必需的水果= {蘋果,菠蘿} 我必須得到當前正在使用的水果,並檢查它是否出現在 必需的水果列表,說如果我有一個值蘋果我必須檢查蘋果是否在 必需F ruits。

而這一切都必須使用按位操作來執行。 (蘋果|菠蘿)&蘋果

但我有超過64個值的枚舉。 可以對具有多於64個值的枚舉執行按位操作嗎? 請幫我這個。任何關於這方面的信息都會有很大的幫助。

回答

0

短的答案:沒有

較長答案:

使用枚舉如位字段被限制爲可用於基礎類型枚舉的整數的最大尺寸,並且通常是64位。所以你需要考慮替代方法來實現你所需要的。

例如:對於高層次的解決方案,考慮NSSet的常量字符串。對於低級別的基於位的解決方案,請查看C庫中的bitstring

HTH