最好在循环中使用 NSString 或 NSMutableString

Better to use NSString or NSMutableString in loop

对于将字符串数组转换为单个逗号分隔字符串的任务,我想知道下面的 NSString 方法或 NSMutableString 方法是否有显着优势。 (在这两种情况下,allNames 都是 NSStringsNSArray。)

NSString 方法

NSString *listOfNames=[allNames objectAtIndex:0];
for (int i=1;i<[allNames count];i++){
   NSString *thisName=[allNames objectAtIndex:i];
   listOfNames=[listOfNames stringByAppendingFormat:@", %@",thisName];
}

NSMutableString 方法

NSMutableString *mutableListOfNames=[[NSMutableString alloc] init];
[mutableListOfNames appendString:allNames[0]];
for (int i=1;i<[allNames count];i++){
    NSString *thisName=[allNames objectAtIndex:i];
    [mutableListOfNames appendFormat:@", %@",thisName];
}
NSString *listOfNames=[NSString stringWithString:mutableListOfNames];

是的,在这种情况下使用 NSMutableString 更好。避免了创建大量对象的问题。