你有客观的c enum相同的值吗?

时间:2016-03-30 10:27:06

标签: objective-c

我是Objective C的初学者。我在Apple文档中遇到过以下typedef枚举。

    typedef enum NSUnderlineStyle : NSInteger {
   NSUnderlineStyleNone = 0x00,
   NSUnderlineStyleSingle = 0x01,
   NSUnderlineStyleThick = 0x02,
   NSUnderlineStyleDouble = 0x09,
   NSUnderlinePatternSolid = 0x0000,

   NSUnderlinePatternDot = 0x0100,
   NSUnderlinePatternDash = 0x0200,
   NSUnderlinePatternDashDot = 0x0300,
   NSUnderlinePatternDashDotDot = 0x0400,
   NSUnderlineByWord = 0x8000 
} NSUnderlineStyle;

不是值的 NSUnderlineStyleNone = 0x00, NSUnderlinePatternSolid = 0x0000,

相同的十六进制0?如何区分这两个值?

提前致谢。

1 个答案:

答案 0 :(得分:2)

虽然Apple将它们包含在相同的enum定义中,但是定义了3组不同的值。第一种是线型,第二种是模式,一种是选项(ByWord)。

定义选项时,您最多可以从每个集合中选择一个值,并将它们组合在一起。通过定义具有相同值的样式和模式,它只是意味着结果中的位0定义的默认值不是下划线,但如果选择了样式,则默认模式将是实线。 / p>