Objective c 目标C中的位运算符

Objective c 目标C中的位运算符,objective-c,bitwise-operators,Objective C,Bitwise Operators,我有8个viewController对象(vieController1、viewController2、…viewController8)和4种类型的关系(上移、下移、左移、右移) 每个控制器都与其他控制器有一些关系 例如: viewController1和viewController2之间有关系“向上移动”和“向下移动” viewController1和viewController3之间有关系“向右移动”和“向左移动” 所以,我在想,我可以存储所有的控制器都是8位格式的吗。 例子: 如果vie

我有8个viewController对象
(vieController1、viewController2、…viewController8)
和4种类型的关系
(上移、下移、左移、右移)

每个控制器都与其他控制器有一些关系

例如:

viewController1和viewController2之间有关系
“向上移动”
“向下移动”
viewController1和viewController3之间有关系
“向右移动”
和“
向左移动”

所以,我在想,我可以存储所有的控制器都是8位格式的吗。 例子: 如果
viewController1
亲属是
viewController2、viewController4、viewController5
viewController8
意味着

viewController1 relatives = 011011000.
所有控制器都是相同的

同样,我可以用4位格式存储与每个控制器的所有关系

例如: 如果
viewController1
relative
viewController3
以及它们之间的关系
move\u up
move\u down

viewController1亲属=00100000
关系=1100。

这是更好的存储方式,或者在目标c中还有其他方式。如果这是更好的方式,请引导我前进。另一方面,请就这个问题提出你的建议


提前谢谢

我注意到的唯一一件事是,控制器之间的关系应该遵循二进制顺序,这只是为了澄清

i、 e。
viewController1
relative
viewController2、viewController4、viewController5
viewController8
显示为

      viewController1 relative = 10011010 
编辑: 澄清

viewController2的位掩码为00000010

viewController4的位掩码=00001000

viewController5的位掩码为00010000

viewController8的位掩码为10000000


将它们组合在一起,可以得到
视图控制器1的关系

我认为这是一种很好的方法。简单快速。在Objective-C中使用您的方法是否可以完成某些事情?我个人认为,你可以使用任意多的C,毕竟它是C的子集:-)似乎是一个好方法。顺便说一句,我想不出任何Objective-C设施能更好地完成这项工作,特别是如果你对位操作感到满意的话。但是,如果要变得更复杂,您可能需要查看NSSet/NSMutableSet。对不起,我无意中删除了您的帖子。。。你能转寄吗?谢谢你的提醒。我不是故意不尊重你。实际上,我没有“修复”问题中的代码,只是重新格式化了它。OP在他的帖子中从左到右计算了ViewController,为了澄清这一点,我认为应该从右到左计算。我在OP的帖子中改变的是viewController1 relative=10011010中的数字太多了,应该只有八个数字。谢谢你的回复。但是我如何将这种格式存储在objective see中呢。你能解释一下哪种数据类型适合于此,以及在获取每个相对控制器时如何进行解析吗。