用列舉值表示狀態 選項 狀態碼

2022-08-02 21:03:19 字數 1498 閱讀 7824

一、c語言中

1、c語言中的列舉型別enum。在以一系列常量來表示錯誤狀態碼或可組合的選項時,極宜使用列舉為其命名。

2、定義乙個enum

enum personagestate ;

@property (nonatomic, assign) enum personagestate personage;

enum personagestate personage = personagestatelitter;

3、可以使用typedef關鍵字重新定義列舉型別

enum personagestate ;

typedef enum personagestate personagestate;

@property (nonatomic, assign) personagestate personage;

personagestate personage = personagestatelitter;

4、可以指明用何種「底層資料型別」來儲存列舉型別的變數。這樣做的好處是,可以向前宣告列舉變數了。若不指定底層資料型別,則無法向前宣告列舉型別,因為編譯器不清楚底層資料型別的大小,所以在用到此列舉型別時,也就不知道究竟該給變數分配多少空間。

enum waitstate : nsinteger ;

@property (nonatomic, assign) enum waitstate : nsinteger waitstate;

enum waitstate : nsinteger waitstate1 = waitstatelitter;

5、在定義選項的時候,應該使用列舉型別。若這些選項可以彼此組合,則更應如此。只要列舉定義得對,各選項之間就可以通過 「按位或操作符」來組合。

enum uiviewautoresizing ;

如果把傳遞給某個方法的選項表示為列舉型別,而多個選項又可以同時使用,那麼就將各選項值定義為2的冪,以便通過按位或操作將其組合起來。

二、oc語言中

foundation框架中定義了一些輔助的巨集,用這些巨集來定義列舉型別時,也可以制定用於儲存列舉值的底層資料型別。這些巨集具備向後相容能力,如果目標平台的編譯器支援新標準,那就使用新式語法,否則改用舊式語法。

1、typedef ns_enum(nsinteger, uiviewanimationtransition) ;

上面用ns_enum巨集所定義的列舉型別展開之後就是:

typedef enum uiviewanimationtransition : nsinteger uiviewanimationtransition;

enum uiviewanimationtransition : nsinteger ;

2、typedef ns_options(nsuinteger, uiviewautoresizing) ;

三、列舉值與switch語句

在處理列舉型別的switch語句中不要實現default分支。這樣的話,假如新列舉之後,編譯器就會提示開發者:switch語句並未處理所有列舉。

Ajax狀態值及狀態碼

1 ajax狀態值與狀態碼區別 ajax狀態值是指,執行ajax所經歷過的幾種狀態,無論訪問是否成功都將響應的步驟,可以理解成為ajax執行步驟。如 正在傳送,正在響應等,由ajax物件與伺服器互動時所得 使用 ajax.readystate 獲得。由數字1 4單位數字組成 ajax狀態碼是指,無論...

ajax狀態碼和狀態值

狀態值 判斷請求的 存有 xmlhttprequest 的狀態。從 0 到 4 發生變化。0 請求未初始化 1 伺服器連線已建立 2 請求已接收 3 請求處理中 4 請求已完成,且響應已就緒狀態碼 判斷響應的 1xx 資訊響應類,表示接收到請求並且繼續處理 2xx 處理成功響應類,表示動作被成功接收...

ajax 狀態值與狀態碼

狀態值與狀態碼的區別 ajax的狀態值指,執行ajax時,無論是成功還是失敗都要響應的步驟的幾種狀態。例如 尚未呼叫send 方法時的初始化前 正在傳送請求 正在響應等,由ajax物件和伺服器之間的互動所得。通過ajax.readystate獲得 0 4 範圍的乙個狀態值。ajax狀態碼是指,aja...