我有一个带参数v的函数(myFunction),我希望它可以返回不同的对象依赖于v的值。
如下所示:
-(NSString*)myFunction:(NSInteger)v;
-(NSNumber*)myFunction:(NSInteger)v;
有可能吗?
欢迎任何评论
感谢interdev
答案 0 :(得分:0)
你总是可以返回id
,但我认为对于使用此功能的人来说可能会让人感到困惑,因为他们不知道该函数会返回什么。
根据您使用该功能的上下文,简单地使用不同的功能可能会更好
-(NSString*)myFunctionNSStringForNSInteger:(NSInteger)v;
-(NSNumber*)myFunctionNSNumberForNSInteger:(NSInteger)v;
答案 1 :(得分:0)
如果您希望它根据v
的值执行不同的操作,为什么不切换v
的值并使用所需的返回类型调用相关函数?
答案 2 :(得分:0)
你可以,例如声明函数返回NSObject。然后,您可以返回从NSObject继承的所有类型的对象。使用该函数时,您可能必须检查返回对象的类型,具体取决于您要对结果执行的操作。