OC中的列舉

2021-07-07 08:53:11 字數 842 閱讀 3558

oc中的列舉

typedef enumtest;//列舉名稱
typedef ns_enum (nsinteger, test);//結構比較清晰(推薦)
typedef ns_enum(nsinteger, test)

/**當乙個列舉變數可能要代表多個列舉值的時候,其實給乙個列舉變數賦予多

*個列舉值的時候,原理知識把各個列舉值加起來罷了,當加起來以後,就獲

*得了乙個新的值,那麼為了保證這個值的唯一性,這時候就體現了位運算的

*重要作用。

*位運算可以保證列舉值組合的唯一性

*因為位運算的計算方式是將二進位制轉換成十進位制,也就是說,列舉值裡面存

*取的是計算後的十進位制值

*打個比方,通過上面的位運算方式設定好列舉,列印出來的列舉值分別是:

*1 2 4 8 16

*這5個數字,無論你如何組合在一起,也不會產生兩個同樣的數字

*/

typedef ns_enum (uint, test);

typedef ns_options(nsuinteger, uiviewautoresizing) ;
多列舉值 賦值方式如下:
test test =(testa|testb);
tips:
typedef ns_enum(nsinteger, uiviewanimationtransition) ;

typedef ns_options(nsuinteger, uiviewautoresizing) ;

oc中的列舉

如果乙個變數只有幾種可能的值,比如星期有幾天,一年有幾個季節等。這個時候可以用列舉變數。先定義型別再定義變數,如 enum siji 也可以定義匿名 enum yiyue,siyue 這裡列出列舉的值,順序從0開始,以此類推 oc允許將整數賦值給列舉變數。我們定義乙個類,來實現列舉的賦值和對比,順便...

OC中的列舉型別

一直對oc中的位移操作列舉 不太理解,查詢到兩篇介紹oc中列舉的文章,覺得很不錯。什麼是位移操作列舉呢?typedef ns options nsuinteger,uiviewautoresizing 1.2.列舉值一般是4個位元組的int值,在64位系統上是8個位元組。它不參與記憶體的占用和釋放,...

OC中的快速列舉器

快速列舉器 for type object in collection type 從集合中獲取到的元素型別 object 給獲取到的物件起乙個臨時變數名 collection 集合 陣列 字典 集合 陣列 nsarray arr nsarray arraywithobjects iphone 德瑪西...