我只是想弄清楚這些值本身是int,unsigned int,NSInteger。我以爲我看到有人說他們是未簽名的整數,但在蘋果的頭文件中我看到他們用來存儲負值。什麼是Objective-C的枚舉類型
1
A
回答
6
枚舉是C(和C++)的一個特性,而不是Objective-C。當你聲明一個枚舉時,你聲明一個新的C數據類型。
給定枚舉數據類型的大小可能是int
的大小,或者它可能只是足夠大以容納每個聲明的枚舉值。它是編譯器特有的,並且通常有編譯器設置來控制如何處理枚舉。
枚舉最大的可能是int
,所以你總是可以將任何枚舉值轉換爲int
。相反是不正確的。您無法將任何int
轉換爲枚舉值。
0
這是一個枚舉類型。您可以定義自己的類型,可以採用某些指定的值。
看到這個問題: What is a typedef enum in Objective-C?
所以,如果你有一個枚舉,如:
typedef enum {
NBType1,
NBType2,
NBType2,
} NBType
傳遞給方法的參數是NBType
類型。
1
枚舉整數是最大的32位signed int
s。
相關問題
- 1. 什麼是枚舉的返回類型|?
- 2. 什麼是通枚舉類型的WebAPI
- 3. 枚舉拋出「不是枚舉類型」
- 4. Node.js native枚舉中的枚舉類型
- 5. 枚舉數組的「通用」類型是什麼?
- 6. 爲什麼不是Byte默認的枚舉類型?
- 7. 枚舉類型的默認修飾符字段是什麼?
- 8. 你稱爲實現的枚舉類型是什麼?
- 9. 什麼是枚舉的默認屬性類型編輯器?
- 10. 什麼枚舉
- 11. ASN.1枚舉類型和選擇類型有什麼區別?
- 12. 爲枚舉類型
- 13. psycopg2枚舉類型
- 14. 枚舉或類型
- 15. 上枚舉類型
- 16. HTML5枚舉類型
- 17. 有什麼辦法可以檢查一個類型是枚舉類型嗎?
- 18. 爲什麼枚舉包括可枚舉
- 19. 檢查類型是枚舉的方法
- 20. 獲取枚舉或返回枚舉數的區別是什麼?
- 21. Java類枚舉枚舉類
- 22. VBScript中的枚舉類型
- 23. 爲什麼`std :: byte`是一個枚舉類而不是類?
- 24. MvvmCross:枚舉MvxRequestedByType的目的是什麼?
- 25. 枚舉的目的是什麼?
- 26. Object.create中的枚舉參數是什麼?
- 27. 什麼是TypeScript中的枚舉標誌?
- 28. Python中枚舉的意思是什麼?
- 29. 什麼是HTML中的枚舉屬性?
- 30. 什麼是System.Windows.Forms.Keys枚舉中的「OEM」鍵?
這比這更微妙一點。枚舉類型本身是編譯器依賴的整型,可能小於「int」。但枚舉*值實際上只是整型常量。 – 2012-02-10 21:13:25