130

I'm looking for a method of turning a NSMutableArray into a string. Is there anything on a par with this Ruby array method?

>> array1 = [1, 2, 3]
>> array1.join(',')
=> "1,2,3"

Cheers!

Sophie Alpert
  • 139,698
  • 36
  • 220
  • 238
Codebeef
  • 43,508
  • 23
  • 86
  • 119

3 Answers3

280
NSArray  *array1 = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
NSString *joinedString = [array1 componentsJoinedByString:@","];

componentsJoinedByString: will join the components in the array by the specified string and return a string representation of the array.

ravron
  • 11,014
  • 2
  • 39
  • 66
Jason Coco
  • 77,985
  • 20
  • 184
  • 180
18

The method you are looking for is componentsJoinedByString.

NSArray  *a = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];//returns a pointer to NSArray
NSString *b = [a componentsJoinedByString:@","];//returns a pointer to NSString
NSLog(@"%@", b); // Will output 1,2,3
Rémy
  • 1,091
  • 9
  • 17
5

NSArray class reference:

NSArray *pathArray = [NSArray arrayWithObjects:@"here",
    @"be", @"dragons", nil];
NSLog(@"%@",
    [pathArray componentsJoinedByString:@" "]);
ravron
  • 11,014
  • 2
  • 39
  • 66
Georg Schölly
  • 124,188
  • 49
  • 220
  • 267