2010-02-03 80 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语句。