I wrote this to concatenate two strings:
#define Append(x, y) [NSString stringWithFormat:@"%@%@",x,y]
However, what if I have more than just two NSString objects. Is there way to modify this to work for any number of string values?
I wrote this to concatenate two strings:
#define Append(x, y) [NSString stringWithFormat:@"%@%@",x,y]
However, what if I have more than just two NSString objects. Is there way to modify this to work for any number of string values?
Does it have to be a macro? If you can use a method, how about this:
- (NSString*)concatenateStrings:(NSString*)string, ...
{
NSString* result = string;
va_list args;
va_start(args,string);
NSString* arg;
while((arg = va_arg(args,NSString*)))
result = [result stringByAppendingString:arg];
va_end(args);
return result;
}
Which you would call with something like:
NSString* result = [self concatenateStrings:@"ABC",@"DEF",@"GHI",nil];
Remember to terminate the argument list with a nil.