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;
}
2つの答えが考えられますが、どちらも単に連結演算子を持つことほど快適ではありません。
まず、NSMutableString
を使います。これは appendString
メソッドを持っていて、余分な一時的な文字列の必要性の一部を取り除きます。
次に、NSArray
を使って、componentsJoinedByString
メソッドで連結します。