如何将NSArray元素join到NSString中?

给定一个NSString的NSArray,是否有一个快速的方法将它们连接成一个NSString(带有一个分隔符)?

NSArray * stuff = /* ... */; NSString * combinedStuff = [stuff componentsJoinedByString:@"separator"]; 

这是-[NSString componentsSeparatedByString:]的逆过程。

-componentsJoinedByString:在NSArray应该做的伎俩。

如果您的原始数组包含Key-Value对象,您只需从中select一个属性(可以串行化为一个string),那么也有这种变体:

 @implementation NSArray (itertools) -(NSMutableString *)stringByJoiningOnProperty:(NSString *)property separator:(NSString *)separator { NSMutableString *res = [@"" mutableCopy]; BOOL firstTime = YES; for (NSObject *obj in self) { if (!firstTime) { [res appendString:separator]; } else{ firstTime = NO; } id val = [obj valueForKey:property]; if ([val isKindOfClass:[NSString class]]) { [res appendString:val]; } else { [res appendString:[val stringValue]]; } } return res; } @end