2010-02-03 73 views
0

雖然我已經知道這是不可能的,但由於我理解編程的工作原理,因此我想對此進行確認。將特定枚舉值傳遞給objective-c中的方法

我有一個枚舉

typedef enum { 
enum_first=1, 
enum_second=2 
} myenum 

我想做方法的重載,這句法顯然是錯誤的,但它給的想法:

-(id)myenumTest:(myenum.enum_first)value {...} 

-(id)myenumTest:(myenum.enum_second)value {...} 

您能否提供這種替代方式?

感謝 萊昂納多

+0

Objective-C不支持重載。在C++模板之外,我所知道的任何類型系統都允許基於值重載方法。還有誰知道這樣的野獸? – outis 2010-02-03 22:40:48

+1

使用像SML和Haskell這樣的模式匹配的語言,您可以在沒有顯式條件語句的情況下編寫像這樣的函數定義。 Objective-C當然不會。 – Chuck 2010-02-03 22:47:05

+0

@Chuck:那些是野獸! – outis 2010-02-03 23:06:42

回答

3

我會使用基於枚舉變量的值的方法中的case語句。

相關問題