在Objective-C中是否有(stringByAppendingString:
)字符串连接的快捷方式,或一般的NSString
工作的快捷方式?
例如,我想做。
NSString *myString = @"This";
NSString *test = [myString stringByAppendingString:@" is just a test"];
的东西更像。
string myString = "This";
string test = myString + " is just a test";
[NSString stringWithFormat:@"%@/%@/%@", one, two, three];
我猜你不喜欢多重追加(a+b+c+d),在这种情况下你可以这样做。
NSLog(@"%@", [Util append:one, @" ", two, nil]); // "one two"
NSLog(@"%@", [Util append:three, @"/", two, @"/", one, nil]); // three/two/one
使用类似
+ (NSString *) append:(id) first, ...
{
NSString * result = @"";
id eachArg;
va_list alist;
if(first)
{
result = [result stringByAppendingString:first];
va_start(alist, first);
while (eachArg = va_arg(alist, id))
result = [result stringByAppendingString:eachArg];
va_end(alist);
}
return result;
}
我想到了两个答案......这两个答案都不像有一个连接运算符那样特别令人愉快。
首先,使用NSMutableString',它有一个
appendString'方法,消除了对额外的临时字符串的一些需要。
第二,使用一个NSArray
,通过componentsJoinedByString
方法连接。