将特定枚举值传递给objective-c中的方法

将特定枚举值传递给objective-c中的方法,objective-c,enums,overloading,Objective C,Enums,Overloading,虽然我已经知道这是不可能的,因为我理解编程是如何工作的,但我想确认一下这一点 我有一个枚举 typedef enum { enum_first=1, enum_second=2 } myenum 我想对方法进行重载,这种语法显然是错误的,但它给出了一个想法: -(id)myenumTest:(myenum.enum_first)value {...} -(id)myenumTest:(myenum.enum_second)value {...} 你能建议一种替代方法吗 谢谢 Leonard

虽然我已经知道这是不可能的,因为我理解编程是如何工作的,但我想确认一下这一点

我有一个枚举

typedef enum {
enum_first=1,
enum_second=2
} myenum
我想对方法进行重载,这种语法显然是错误的,但它给出了一个想法:

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

-(id)myenumTest:(myenum.enum_second)value {...}
你能建议一种替代方法吗

谢谢
Leonardo

我会在基于enum变量值的方法中使用case语句

我会根据enum变量的值在方法中使用case语句

Objective-C不支持重载。在C++模板之外,我不知道任何类型的系统允许基于值的重载方法。还有人知道这样的野兽吗?像SML和Haskell这样具有模式匹配的语言可以让您在没有显式条件语句的情况下编写这样的函数定义。不过,Objective-C当然不是。@Chuck:那些是野兽!Objective-C不支持重载。在C++模板之外,我不知道任何类型的系统允许基于值的重载方法。还有人知道这样的野兽吗?像SML和Haskell这样具有模式匹配的语言可以让您在没有显式条件语句的情况下编写这样的函数定义。不过,Objective-C当然不是。@Chuck:那些是野兽!