NSMutableArray 对象添加到字符串

NSMutableArray object add to string

我的 NSMutableArray 有 3 个或更多数据。我需要包含以下数据的字符串:"data1,data2,data3".

我的代码:

for(int x=0; x<data.count;x++)
    {  
      NSString *string = [data objectAtIndex:x]; 
    }
NSMutableArray *data = [[NSMutableArray alloc] initWithObjects:@"data1", @"data2", @"data3", nil];
NSMutableString *finalString = [[NSMutableString alloc]  init];

for (int x = 0; x < data.count; x++)
{
    NSString *string = [data objectAtIndex:x];
    [finalString appendFormat:x == data.count-1 ? @"%@" : @"%@,", string];
}

NSLog(@"finalString: %@", finalString);

您的意思是要将所有数据合并为一个字符串吗?

如果我是对的,这里是代码:

NSMutableString *dataStr = [NSMutableString string];
for (int i = 0; i < data.count; i++) {
    if (i == 0) {
        [dataStr appendString:[data objectAtIndex:i]];
    } else {
        [dataStr appendFormat:@",%@", [data objectAtIndex:i]];
    }
}

我已经看过其他解决方案了……我想到了这个解决方案;我不明白为什么这个解决方案不够好,因为它看起来更复杂也更优雅:

NSArray *_myArray = [NSArray arrayWithObjects:@"item-1", @"item-2", @"item-3", nil];
NSString *_myString = [_myArray componentsJoinedByString:@", "];

最终结果为:

item-1, item-2, item-3

注意:当然输入的数组也可以是NSMutableArray,不影响最后的输出。