NSInteger 是否足以跟踪修饰符标志? (cmd/alt/ctrl 等)。
我注意到,在一个事件中,它返回一个 NSUinteger(无符号)([theEvent modifierFlags])而不是 NSInteger,但从我的测试来看,当我将修饰符掩码保存在 NSInteger 中时,它似乎工作得很好。
我需要一个 NSInteger,因为我将修饰符掩码保存为某些控件的标签。
最佳答案
NSInteger 和 NSUInteger 大小相同(即位数相同)。区别在于,在执行算术等操作时,这些位是否被视为表示有符号数或无符号数。如果您仅通过按位运算来操作数字,那么这并不重要。也就是说,您应该使用相关方法返回的相同类型,在本例中为 NSUInteger。此处使用无符号的原因是,当所讨论的值实际上是一堆要独立设置/清除的位时,从概念上讲,该值具有符号位是没有意义的。
关于objective-c - 修饰符标志 : NSInteger enough?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15179263/