2012-02-08 62 views

回答

7

要定義自定義類型,正確的方法是使用typedef。

的Try ...

typedef enum 
{ 
    Etype1, 
    Etype2 
} TMyType; 

編輯: 不久之後,這一問題被提出和回答,蘋果公司推出了一種新的方式做枚舉數據類型。 Here's關於它的深入文章。

typedef NS_ENUM(NSInteger, TMyType) { 
    Etype1, 
    Etype2 
}; 
2
+ (void) foo: (enum TMyType) actionType; 

,或者使用.mm(和重新標記問題與objective-c++)。

+0

謝謝,.mm代表什麼? – Gruntcakes 2012-02-08 19:31:13

+0

@Mungbeans它代表一個Objective-C++源文件。在C/Obj-C中,枚舉必須完全鍵入,例如'enum myType myArg = myEnumValue;'。在C++中,您可以簡單地引用它:'myType myArg = myEnumValue;',因爲C++編譯器會自動推斷'enum'。 – 2012-02-08 19:33:13

+0

'objective-C++'就像我在括號中所說的那樣。 – 2012-02-08 19:33:19