Add a prefix for each element of a string array

Is there a quick way to add a string prefix to each element in an array of strings?

+3
source share
2 answers

Define a category NSMutableString

@implementation NSMutableString (AppendPrefix)

- (void)appendPrefix:(NSString *)prefix {
    [self insertString:prefix atIndex:0];
}

@end

And then do:

[array makeObjectsPerformSelector:@selector(appendPrefix:) withObject:@"some_prefix"];

arrayhere NSArrayofNSMutableString

+6
source

This is a bit long, but this should work:

- (NSArray *) prependArrayOfStrings:(NSArray*)originalArray prefix:(NSString*)prefix
{
  NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
  for( NSString *currString in originalArray )
  {
    NSString *newString = [NSString stringwithFormat:@"%@%@", prefix, currString];
    [newArray addObject:newString];
  }

  return newArray;
}

// Somewhere else.
NSArray *originalArray = @[/*...*/];
// Fill in original array with array of strings
NSArray *newArray = [self prependArrayOfStrings:originalArray prefix:@"prefix"];
+1
source

All Articles