2010-02-03 2 views
0

Хотя я уже знаю, что это невозможно, поскольку я понимаю, как работает программирование, я хотел бы получить подтверждение этого.передать конкретное значение перечисления методу в объекте-c

У меня есть перечисление

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

Я хотел сделать перегрузку метода, этот синтаксис, очевидно, неправильно, но это дает идею:

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

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

Можете ли вы предложить альтернативный способ для этого ?

благодаря Leonardo

+0

Объектив-C не поддерживает перегрузку. Вне шаблонов C++ ни одна система типа, о которой я знаю, не допускает методы перегрузки, основанные на значениях. Кто-нибудь еще знает таких зверей? – outis

+1

Языки с сопоставлением шаблонов, подобными SML и Haskell, позволяют писать определение функции, подобное этому, без явного условного оператора. Однако Objective-C, конечно, не делает. – Chuck

+0

@ Чак: это звери! – outis

ответ

3

Я хотел бы использовать случай заявление в рамках метода на основе значения переменной перечислимого.

Смежные вопросы