2010-12-10 116 views
0

我有一个参数v,我希望它可以返回不同对象的函数(myFunction的)取决于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继承的各种对象。在使用该函数时,您可能必须检查返回对象的类型,具体取决于您想要对结果执行的操作。