下面的代碼工作完美,顯示正確的輸出:如何改變這種做法,它返回數組
- (void)viewDidLoad {
[super viewDidLoad];
[self expand_combinations:@"abcd" arg2:@"" arg3:3];
}
-(void) expand_combinations: (NSString *) remaining_string arg2:(NSString *)s arg3:(int) remain_depth
{
if(remain_depth==0)
{
printf("%s\n",[s UTF8String]);
return;
}
NSString *str = [[NSString alloc] initWithString:s];
for(int k=0; k < [remaining_string length]; ++k)
{
str = [s stringByAppendingString:[[remaining_string substringFromIndex:k] substringToIndex:1]];
[self expand_combinations:[remaining_string substringFromIndex:k+1] arg2:str arg3:remain_depth - 1];
}
return;
}
然而,不是輸出結果;我想他們返回一個NSArray。這個代碼如何改變來做到這一點?我需要使用該函數在我的程序的其他部分生成的信息。
看來你有這樣的幾個問題。也許你應該看看一些關於objective-c的書。 [這篇文章](http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books)有一些參考。 – JoshD 2010-09-26 09:11:46
我已經讀過關於objective-c的書。你認爲我會在Objective-C的許多書中找到這個問題的答案嗎?我見過的人不會談論這類問題。 – 2010-09-26 09:16:35
那麼,直言不諱,你的代碼有多個問題,這表明你不熟悉該語言。所以是的,閱讀更多關於Objective-C會讓你受益。 – 2010-09-26 14:34:52