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 德瑪西...