在Apple的Adopting Modern Objective-C文档中,指定了:
枚举的类型应为NSInteger。
此外,对于NS_OPTION
宏,他们会说:
但是,选项的类型通常应该是NSUInteger。
我使用的枚举值大多数时间都不是负数,因此我将它们定义为NSUInteger
。
这个决定背后的理由是什么?
答案 0 :(得分:0)
Apple的某个人知道这种名为“Swift”的新语言。 Swift对类型非常非常严格,因此混合使用有符号和无符号值非常不方便。因此,即使您知道值永远不会为负,也应该使用NSInteger。
答案 1 :(得分:0)
不能保证枚举只有正值。
在某些情况下,-1
可用于标记错误。