我正在尝试采用字符串数组,并将每个项目都放入字符串格式。我编写了一种方法来执行此操作,因为我需要将列出的数组值连接到另一个字符串中。由于某些原因,我无法正确列出数组值,返回一个空字符串。
- (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
会更好,因为否则您将在该循环中创建许多自动释放的对象。