iOS Dev (46) iOS 的枚舉 – iPhone手機開發技術文章 iPhone軟體開發教學課程

iOS Dev (46) iOS 的枚舉

  •  
  • 不就是 C 嗎?

    是的,就是 C,所以你用 C 的枚舉定義方式是 OK 帶。如下:

    typedef enum
    {
        TypeA = 0,
        TypeB,
        TypeC,
        TypeD
    } MyType;
    

    MyType 是枚舉類型的名稱。它的可能值就是 TypeA、TypeB、TypeC、TypeD,其中 TypeA 的值就是 0,依次其他的就是 1、2、3。

    iOS 特有的方式呢?

    typedef NS_ENUM(NSInteger, MyType)
    {
        TypeA = 1,
        TypeB = 2,
        TypeC = 3,
        TypeD = 4
    };
    

    NS_ENUM 是用來定義枚舉的,NSInteger 就是表示枚舉的值,MyType 是枚舉類的名字。

    常用的位表示法

    typedef NS_ENUM(uint, Test)
    {
        TestA = 1,
        TestB = 1 << 1,
        TestC = 1 << 2,
        TestD = 1 << 3,
        TestE = 1 << 4
    };
    

    枚舉實例可以取多值

    比如上面帶 Test:

    Test t = TestA|TestB|TestC;
    

    轉載請註明來自大銳哥的博客:https://prevention.iteye.com

發佈留言