是否有一個Cocoa類與枚舉C的值有相似的功能?我知道我可以在Cocoa中使用枚舉,但是如果我想將一個枚舉放入一個NSArray(它只接受對象)呢?枚舉最接近的可可當量
0
A
回答
7
enum只是一個整數類型 - 您可以將它包裝在NSNumber
中以將它放在NSArray
中。
5
在Cocoa中,通常使用全局常量來代替邏輯上包含在集合中的值的地方的枚舉。例如:
NSString * const HandTool = @"HandTool__InternalValue";
NSString * const BrushTool = @"BrushTool__InternalValue";
NSString * const EraserTool = @"EraserTool__InternalValue";
例如,所有NSAttributedString鍵都是類枚舉的,但是以這種方式表示。
+5
使用枚舉的理由包括將值定義爲位掩碼的能力,您可以將它們組合在一起並便宜地測試其中的特定位,並且可以將它們用作「 switch'語句。使用對象的原因包括可以將它們用作字典中的鍵(如NSAttributedString屬性名稱所示)或作爲集合或歸檔中的對象使用,而不必將它們裝箱。 – 2010-06-19 05:59:20
相關問題
- 1. Ruby:可枚舉的產量
- 2. 可可枚舉
- 3. 可可枚舉變量名的NSString
- 4. 什麼是最接近我可以區分一個字符的枚舉?
- 5. 爲什麼枚舉包括可枚舉
- 6. 可以枚舉包含其他枚舉?
- 7. 可以枚舉類型的接口
- 8. 迭代通過可枚舉類型的可枚舉集合
- 9. 排序可枚舉
- 10. C#可枚舉產量和foreach
- 11. 可擴展的枚舉Java
- 12. 的GroupBy在可枚舉法
- 13. 的Javascript可枚舉查詢
- 14. Ruby中的可逆枚舉
- 15. 可可:帶有枚舉鍵的字典?
- 16. 接通枚舉在Java中:不合格的枚舉常量
- 17. 可空枚舉(??)和LinqToSQL
- 18. 前提條件可枚舉
- 19. 聯盟對空可枚舉
- 20. 可枚舉裝飾圖案
- 21. 可串行枚舉類類
- 22. Javascript非可枚舉屬性
- 23. 從可枚舉<int>
- 24. 通用可爲空枚舉
- 25. 鑄造爲可空枚舉
- 26. 枚舉「地圖」可變
- 27. Java可擴展枚舉
- 28. 可枚舉對象MVC4
- 29. 解析爲可空枚舉
- 30. 讓短語可枚舉嗎?
+1我這樣做的頻率很高 – 2010-06-17 22:05:40