枚舉的使用

枚舉類型的定義

enum 標(biāo)示符{
枚舉數(shù)據(jù)表
}套啤;
枚舉數(shù)據(jù)(枚舉常量)是一些特定的標(biāo)識(shí)符彤侍,標(biāo)識(shí)符代表什么含義肠缨,完全由程序員決定。數(shù)據(jù)枚舉的順序規(guī)定了枚舉數(shù)據(jù)的序號(hào)盏阶,從0開(kāi)始晒奕,依次遞增。
例如:

enum status{
    OK,
    NO,
}

enum 和enum typedef 的使用

c語(yǔ)言里typedef的解釋是用來(lái)聲明新的類型名來(lái)代替已有的類型名名斟,typedef為C語(yǔ)言的關(guān)鍵字脑慧,作用是為一種數(shù)據(jù)類型定義一個(gè)新名字。這里的數(shù)據(jù)類型包括內(nèi)部數(shù)據(jù)類型(int,char等)和自定義的數(shù)據(jù)類型(struct等)砰盐。
enum是枚舉類型闷袒, enum用來(lái)定義一系列宏定義常量區(qū)別用,相當(dāng)于一系列的#define xx xx岩梳,當(dāng)然它后面的標(biāo)識(shí)符也可當(dāng)作一個(gè)類型標(biāo)識(shí)符囊骤。

enum AlertStatus{
  AlertStatus_simple = 1,
  AlertStatus_Custom,
  AlertStatus_sure冀值,
  AlertStatus_cancel也物,
};

typedef enum {
    UIButtonTypeCustom = 0,           
    UIButtonTypeRoundedRect,          
    UIButtonTypeDetailDisclosure,
    UIButtonTypeInfoLight,
    UIButtonTypeInfoDark,
    UIButtonTypeContactAdd,
}UIButtonType;

enum與狀態(tài)(states)

typedef enum _TTGState { 
    TTGStateOK = 0, 
    TTGStateError, 
    TTGStateUnknow
} TTGState;
//指明枚舉類型
TTGState state = TTGStateOK;
//使用
- (void)dealWithState:(TTGState)state { 
switch (state) { 
      case TTGStateOK: //... 
      break; 
      case TTGStateError: //... 
      break; 
      case TTGStateUnknow: //... 
      break; 
  }
}

enum與選項(xiàng) (options)

//方向池摧,可同時(shí)支持一個(gè)或多個(gè)方向
typedef enum _TTGDirection { 
      TTGDirectionNone = 0,        
      TTGDirectionTop = 1 << 0, 
      TTGDirectionLeft = 1 << 1, 
      TTGDirectionRight = 1 << 2, 
      TTGDirectionBottom = 1 << 3
} TTGDirection;

//使用
//用“或”運(yùn)算同時(shí)賦值多個(gè)選項(xiàng)
TTGDirection direction = TTGDirectionTop | TTGDirectionLeft | TTGDirectionBottom;
//用“與”運(yùn)算取出對(duì)應(yīng)位
if (direction & TTGDirectionTop) {      
       NSLog(@"top");
}
if (direction & TTGDirectionLeft) {
       NSLog(@"left");
}
if (direction & TTGDirectionRight) { 
      NSLog(@"right");
}
if (direction & TTGDirectionBottom) {   
      NSLog(@"bottom");
}

在開(kāi)發(fā)過(guò)程中焦除,最好所有的枚舉都用“NS_ENUM”和“NS_OPTIONS”定義激况,保證統(tǒng)一作彤。

//NS_ENUM,定義狀態(tài)等普通枚舉
typedef NS_ENUM(NSUInteger, TTGState) { 
        TTGStateOK = 0, 
        TTGStateError, 
        TTGStateUnknow
};
//NS_OPTIONS乌逐,定義選項(xiàng)
typedef NS_OPTIONS(NSUInteger, TTGDirection) {       
     TTGDirectionNone = 0, 
     TTGDirectionTop = 1 << 0, 
     TTGDirectionLeft = 1 << 1, 
     TTGDirectionRight = 1 << 2, 
     TTGDirectionBottom = 1 << 3
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末竭讳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子浙踢,更是在濱河造成了極大的恐慌绢慢,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洛波,死亡現(xiàn)場(chǎng)離奇詭異胰舆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蹬挤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門缚窿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人焰扳,你說(shuō)我怎么就攤上這事倦零∥笮” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵扫茅,是天一觀的道長(zhǎng)蹋嵌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)葫隙,這世上最難降的妖魔是什么栽烂? 我笑而不...
    開(kāi)封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮恋脚,結(jié)果婚禮上愕鼓,老公的妹妹穿的比我還像新娘。我一直安慰自己慧起,他們只是感情好菇晃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蚓挤,像睡著了一般磺送。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灿意,一...
    開(kāi)封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天估灿,我揣著相機(jī)與錄音,去河邊找鬼缤剧。 笑死馅袁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荒辕。 我是一名探鬼主播汗销,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抵窒!你這毒婦竟也來(lái)了弛针?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤李皇,失蹤者是張志新(化名)和其女友劉穎削茁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掉房,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茧跋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卓囚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘾杭。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捍岳,靈堂內(nèi)的尸體忽然破棺而出富寿,到底是詐尸還是另有隱情睬隶,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布页徐,位于F島的核電站苏潜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏变勇。R本人自食惡果不足惜恤左,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搀绣。 院中可真熱鬧飞袋,春花似錦、人聲如沸链患。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)麻捻。三九已至纲仍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贸毕,已是汗流浹背郑叠。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留明棍,地道東北人乡革。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像摊腋,于是被迫代替她去往敵國(guó)和親沸版。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 枚舉我們大家都不太陌生了,我們?cè)贑或者OC中經(jīng)常使用到,在這里簡(jiǎn)單記錄下Swift中枚舉的使用方法. 枚舉的定義 ...
    劉光軍_MVP閱讀 2,979評(píng)論 4 53
  • 1.用法一:常量 在JDK1.5之前歌豺,我們定義常量都是:publicstaticfianl....⊥魄睿現(xiàn)在好了心包,有了...
    smallnumber閱讀 303評(píng)論 0 1
  • 一类咧、枚舉類型、enum枚舉類型 從枚舉定義來(lái)看蟹腾,NS_ENUM和NS_OPTIONS本質(zhì)是一樣的痕惋,僅僅從字面上來(lái)區(qū)...
    xiacheng閱讀 830評(píng)論 0 0
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,974評(píng)論 6 13
  • 是的 我從來(lái)都知道這世上本就沒(méi)有真正的感同身受 在這個(gè)心性 三觀都近乎形成的年齡段 最多也只是在此基礎(chǔ)上進(jìn)行修正和...
    好徒徒閱讀 336評(píng)論 0 0