我正在尝试采用字符串数组,并将每个项目都放入字符串格式。我编写了一种方法来执行此操作,因为我需要将列出的数组值连接到另一个字符串中。由于某些原因,我无法正确列出数组值,返回一个空字符串。

- (NSString*)listParameters:(NSArray*)params
{
NSString *outputList = @"";

if (params) {
    for (int i=0; i<[params count]; i++) {
        NSLog(@"%@",[params objectAtIndex:i]);
        [outputList stringByAppendingString:[params objectAtIndex:i]];
        if (i < ([params count] - 1)) {
            [outputList stringByAppendingString:@", "];
        }
    }
}
NSLog(@"outputList: %@", outputList);
return outputList;
}

第一个log语句正确返回一个字符串(因此数组中肯定有一个字符串),但是第二个log语句仅返回“outputList:”。

我试图使outputList开始不仅仅是一个无效的空字符串。我也尝试将[params objectAtIndex:i]分配给一个字符串,然后附加它,也没有用。

我觉得这里缺少明显的东西,但是我无法使其正常工作。

如何获得此字符串数组以打印为单个字符串,并用逗号分隔?

最佳答案

您需要将[outputList stringByAppendingString:[params objectAtIndex:i]][outputList stringByAppendingString:@", "]的结果分配回outputList

如果您使用NSMutableString的实例代替outputList会更好,因为否则您将在该循环中创建许多自动释放的对象。

07-28 06:20