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.
