iOS--枚舉

枚舉是C語(yǔ)言中的一種基本數(shù)據(jù)類型,是一個(gè)"被命名的整型常量"的集合,它不參與內(nèi)存的占用和釋放,我們?cè)陂_發(fā)中使用枚舉的目的只有一個(gè),那就是為了增加代碼的可讀性

舉個(gè)例子,我們想要在開發(fā)中根據(jù)四季的變化做不同的操作,我們首先想到的可能會(huì)是定義一個(gè)int型變量,通過為該變量賦不同的值來(lái)表示四季(for example 1為春天,2為夏天,3為秋天,4為冬天).但是,對(duì)于閱讀該份代碼的人來(lái)講,他們并不能在短時(shí)間內(nèi)就明白數(shù)字1234所代表的具體含義.這個(gè)時(shí)候,選擇使用枚舉則可以應(yīng)對(duì)該需求

下面分析兩種類型:

第一種:

定義枚舉(.h最上方)
enum 枚舉名稱
{
  標(biāo)識(shí)符 = 整型常量,
  標(biāo)識(shí)符 = 整型常量,
  標(biāo)識(shí)符 = 整型常量,
  標(biāo)識(shí)符 = 整型常量
};

整型常量如果不寫,默認(rèn)從第一個(gè)為0,后面今次加1;

enum example
{
    Spring = 1,
    Summer = 2,
    Autumn = 3,
    Winter = 4
};

對(duì)于這種,使用時(shí):

//enum 枚舉名稱 枚舉變量 = 枚舉變量值;
enum example thisIsExample = Winter;
if (thisIsExample == Winter) {
    
}

還有一種是

enum Test
{
    testA = 1,
    testB = 2,
    testC = 3

}isTest;

這一種使用時(shí):

isTest = testB;
if (isTest == testB) {
    
}

第二種:用typedef

typedef enum aNewTest {

    newTestA = 1,
    newTestB = 2

}anotherTest;

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController

//這一種的話就可以定義一個(gè)對(duì)應(yīng)屬性然后來(lái)使用
@property(nonatomic)anotherTest newTest;

使用

self.newTest = newTestA;
if (self.newTest == newTestA) {
    
}

參考:http://www.lxweimin.com/p/740233c2d638

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,476評(píng)論 25 708
  • 什么是枚舉 在程序設(shè)計(jì)語(yǔ)言中,一般用一個(gè)數(shù)值來(lái)代表某一狀態(tài),這種處理方法不直觀,易讀性差。如果能在程序中用自然語(yǔ)言...
    Japho閱讀 7,665評(píng)論 12 25
  • 轉(zhuǎn)載自:http://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=...
    YYT1992閱讀 731評(píng)論 3 0
  • 已被此妹萌哭,好了,廢話不多說(shuō),進(jìn)入正題,今天介紹一下objective-c中的枚舉 提要 首先要知道的是,枚舉值...
    上冬十二閱讀 7,284評(píng)論 2 10
  • 嗨,大家好,這里是小沐。 今天想和大家談?wù)劷ㄖ掷L。 對(duì)于手繪,技法確實(shí)很重要,但是我希望大家在畫圖之前要先有一些...
    沐白_閱讀 4,540評(píng)論 2 37