iOSの列挙

727 ワード

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;