【发布时间】:2010-09-26 09:07:14
【问题描述】:
以下代码完美运行并显示正确的输出:
- (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的书。 This post 有一些参考资料。
-
我已经阅读过有关 Objective-c 的书籍。你认为我会在许多关于objective-c 的书籍中找到这个问题的答案吗?我见过的不谈论这种类型的问题。
-
好吧,坦率地说,您的代码存在多个问题,表明您并不精通该语言。所以,是的,阅读更多关于 Objective-C 的内容会让你受益。
标签: objective-c cocoa cocoa-touch nsmutablearray nsarray