2010-12-10 99 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繼承的各種對象。在使用該函數時,您可能必須檢查返回對象的類型,具體取決於您想要對結果執行的操作。