我是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?如何区分这两个值?
提前致谢。
答案 0 :(得分:2)
虽然Apple将它们包含在相同的enum
定义中,但是定义了3组不同的值。第一种是线型,第二种是模式,一种是选项(ByWord
)。
定义选项时,您最多可以从每个集合中选择一个值,并将它们组合在一起。通过定义具有相同值的样式和模式,它只是意味着结果中的位0定义的默认值不是下划线,但如果选择了样式,则默认模式将是实线。 / p>