2010-12-10 6 views
0

У меня есть функция (MYFUNCTION) с параметром V, я надеюсь, что он может вернуть другой объект зависит значение Vфункция возвращать различные объекты

что-то, как показано ниже:.

-(NSString*)myFunction:(NSInteger)v; 
-(NSNumber*)myFunction:(NSInteger)v; 

Возможно ли это?

Добро пожаловать любой комментарий

Благодарности Interdev

ответ

0

Вы всегда можете вернуть id, но я думаю, что это может быть запутанным для тех, кто использует эту функцию, так как они не будут знать, что функция будет возвращать.

В зависимости от контекста, который вы используете функцию, вероятно, было бы лучше, чтобы просто иметь различные функции

-(NSString*)myFunctionNSStringForNSInteger:(NSInteger)v; 
-(NSNumber*)myFunctionNSNumberForNSInteger:(NSInteger)v; 
0

Если вы хотите, чтобы делать разные вещи в зависимости от значения v почему бы не просто переключить на значение v и вызвать соответствующую функцию с требуемым типом возврата?

0

Вы можете, например. объявить функцию для возврата NSObject. Затем вы можете вернуть все объекты, которые наследуются от NSObject. При использовании функции вам может потребоваться проверить тип возвращаемого объекта, в зависимости от того, что вы хотите сделать с результатом.

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