object-c枚举的使用

其实这个的用法很简单,因为有系统自定宏:NS_ENUM,NS_OPTIONS。我们基本就只用这两个就可以了;看看下面的简单例子就明白了。

typedef NS_ENUM(NSInteger, Test1) {

//以下是枚举成员

    Test1A = 0,

    Test1B = 1,

    Test1C = 2,

    Test1D = 3

};

 

 

 

typedef NS_OPTIONS(NSUInteger, Test) {

    TestA = 1, //1 1 1

    TestB = 1 << 1, //2 2 10 转换成 10进制 2

    TestC = 1 << 2, //4 3 100 转换成 10进制 4

    TestD = 1 << 3, //8 4 1000 转换成 10进制 8

    TestE = 1 << 4 //16 5 10000 转换成 10进制 16

};

 

奉上苹果定义button事件的枚举:

typedef NS_OPTIONS(NSUInteger, UIControlEvents) {

    UIControlEventTouchDown           = 1 <<  0,      // on all touch downs

    UIControlEventTouchDownRepeat     = 1 <<  1,      // on multiple touchdowns (tap count > 1)

    UIControlEventTouchDragInside     = 1 <<  2,

    UIControlEventTouchDragOutside    = 1 <<  3,

    UIControlEventTouchDragEnter      = 1 <<  4,

    UIControlEventTouchDragExit       = 1 <<  5,

    UIControlEventTouchUpInside       = 1 <<  6,

    UIControlEventTouchUpOutside      = 1 <<  7,

    UIControlEventTouchCancel         = 1 <<  8,

 

    UIControlEventValueChanged        = 1 << 12,     // sliders, etc.

 

    UIControlEventEditingDidBegin     = 1 << 16,     // UITextField

    UIControlEventEditingChanged      = 1 << 17,

    UIControlEventEditingDidEnd       = 1 << 18,

    UIControlEventEditingDidEndOnExit = 1 << 19,     // 'return key' ending editing

 

    UIControlEventAllTouchEvents      = 0x00000FFF// for touch events

    UIControlEventAllEditingEvents    = 0x000F0000// for UITextField

    UIControlEventApplicationReserved = 0x0F000000// range available for application use

    UIControlEventSystemReserved      = 0xF0000000// range reserved for internal framework use

    UIControlEventAllEvents           = 0xFFFFFFFF

};

posted @ 2015-09-01 14:59  梦影随风  阅读(511)  评论(0编辑  收藏  举报