我正在尝试获取一个字符串数组并将每个项目放入字符串格式.我写了一个方法来执行此操作,因为我需要将列出的数组值连接到另一个字符串.由于某种原因,我无法正确列出数组值,返回空字符串.
- (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;
}
Run Code Online (Sandbox Code Playgroud)
第一个日志语句正确返回一个字符串(因此数组中肯定有一个字符串),但第二个日志语句只返回"outputList:".
我尝试将outputList start作为一个不起作用的空字符串.我也试过分配[params objectAtIndex:i]一个字符串然后追加它,也没用.
我觉得我在这里遗漏了一些明显的东西,但是我无法让它发挥作用.
如何将这个字符串数组打印成一个用逗号分隔的单个字符串?
您可能希望使用NSMutableString及其appendString方法.NSString是不可变的.
- (NSString*)listParameters:(NSArray*)params
{
NSMutableString *outputList = [[NSMutableString alloc] init];
if (params) {
for (int i=0; i<[params count]; i++) {
NSLog(@"%@",[params objectAtIndex:i]);
[outputList appendString:[params objectAtIndex:i]];
if (i < ([params count] - 1)) {
[outputList appendString:@", "];
}
}
}
NSLog(@"outputList: %@", outputList);
return outputList;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |