一:NS_OPTIONS
typedef NS_OPTIONS(NSUInteger,Test){
TestA=0,//值為0
TestB=1<<0,//值為2的0次方
TestC=1<<1,//值為2的1次方
TestD=1<<2//值為2的2次方
}跪另;
二:NS_ENUM
兩種形式官方推薦使用第一種形式
typedef NS_ENUM(NSInteger,Test){
TestA=-1,//值為-1
TestB=0,//值為0
TestC=1//值為1
};
typedef enum{
TestA=-1.//值為-1
TestB=0,//值為0
TestC=1//值為1
}Test;
區(qū)別:
1.NS_OPTIONS中使用的是NSUInteger斧拍,而NS_ENUM使用的是NSInteger。
2.NS_OPTIONS中的枚舉值可多選吆你,但是NS_ENUM不可以面睛。
3.NSOPTIONS枚舉項的值需要表示為1<<0,1<<1冲甘,2的幾次放的形式绩卤,而NS_ENUM可以直接給1、2江醇、3這樣的值濒憋,不給默認(rèn)從0開始。