函数返回不同的对象

时间:2010-12-10 15:56:44

标签: iphone

我有一个带参数v的函数(myFunction),我希望它可以返回不同的对象依赖于v的值。

如下所示:

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

有可能吗?

欢迎任何评论

感谢interdev

3 个答案:

答案 0 :(得分:0)

你总是可以返回id,但我认为对于使用此功能的人来说可能会让人感到困惑,因为他们不知道该函数会返回什么。

根据您使用该功能的上下文,简单地使用不同的功能可能会更好

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

答案 1 :(得分:0)

如果您希望它根据v的值执行不同的操作,为什么不切换v的值并使用所需的返回类型调用相关函数?

答案 2 :(得分:0)

你可以,例如声明函数返回NSObject。然后,您可以返回从NSObject继承的所有类型的对象。使用该函数时,您可能必须检查返回对象的类型,具体取决于您要对结果执行的操作。