枚舉是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) {
}