objective-c - 修饰符标志 : NSInteger enough?

标签 objective-c xcode cocoa

NSInteger 是否足以跟踪修饰符标志? (cmd/alt/ctrl 等)。

我注意到,在一个事件中,它返回一个 NSUinteger(无符号)([theEvent modifierFlags])而不是 NSInteger,但从我的测试来看,当我将修饰符掩码保存在 NSInteger 中时,它似乎工作得很好。

我需要一个 NSInteger,因为我将修饰符掩码保存为某些控件的标签。

最佳答案

NSInteger 和 NSUInteger 大小相同(即位数相同)。区别在于,在执行算术等操作时,这些位是否被视为表示有符号数或无符号数。如果您仅通过按位运算来操作数字,那么这并不重要。也就是说,您应该使用相关方法返回的相同类型,在本例中为 NSUInteger。此处使用无符号的原因是,当所讨论的值实际上是一堆要独立设置/清除的位时,从概念上讲,该值具有符号位是没有意义的。

关于objective-c - 修饰符标志 : NSInteger enough?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15179263/

相关文章:

objective-c - 如何以编程方式进入目标显示模式?

iphone - iPhone 5 应用程序如何在旧款 iPhone 上运行?

iOS 8 iPad : Could not load NIB in bundle

objective-c - Objective-C 中的货币转换

c# - 单个 NSTabView 中的多个 NSTabViewItem

iphone - 如何为章节标题设置 RGB 颜色值 - IOS

objective-c - OCMock 和 block

ios - 如何在 iOS9.2 上修复 Xcode 错误 “Could not find Developer Disk Image”

ios - 在 iOS13 Xamarin 中打开应用程序崩溃的 URL/文件

cocoa - 如何使其立即反射(reflect)我在 UI(文本字段)中设置为 IBOulet 的值?