Objective-C文字列連結ショートカットのコード例

2024-08-30

NSStringクラスは、文字列を扱うためのクラスです。文字列を連結するには、いくつかの方法があります。

stringByAppendingString:メソッドを使用する

これは最も基本的な方法です。このメソッドは、現在の文字列の末尾に別の文字列を連結して新しい文字列を返します。

NSString *string1 = @"Hello";
NSString *string2 = @" world";
NSString *concatenatedString = [string1 stringByAppendingString:string2];
// concatenatedStringは"Hello world"になります

+ stringWithFormat:メソッドを使用する

このメソッドは、フォーマット文字列を使用して複数の値を連結することができます。

NSString *name = @"John";
int age = 30;
NSString *concatenatedString = [NSString stringWithFormat:@"My name is %@ and I am %d years old.", name, age];
// concatenatedStringは"My name is John and I am 30 years old."になります

このメソッドは、stringWithFormat:メソッドと同様にフォーマット文字列を使用して複数の値を連結することができますが、現在の文字列の末尾に連結されます。

NSString *string1 = @"Hello";
NSString *string2 = @" world";
NSString *concatenatedString = [string1 stringByAppendingFormat:@" %@", string2];
// concatenatedStringは"Hello world"になります

文字列リテラルを直接連結する

文字列リテラルを直接連結することもできます。

NSString *concatenatedString = @"Hello" @" world";
// concatenatedStringは"Hello world"になります



Objective-C文字列連結ショートカットのコード例

NSString *firstName = @"John";
NSString *lastName = @"Doe";
NSString *fullName = [firstName stringByAppendingString:lastName];
NSLog(@"Full name: %@", fullName); // Output: Full name: JohnDoe
int age = 30;
NSString *message = [NSString stringWithFormat:@"I am %d years old.", age];
NSLog(@"%@", message); // Output: I am 30 years old.
NSString *greeting = @"Hello";
NSString *name = @"Alice";
NSString *personalizedGreeting = [greeting stringByAppendingFormat:@" %@!", name];
NSLog(@"%@", personalizedGreeting); // Output: Hello Alice!
NSString *path = @"/Users/john/Documents/file.txt";
NSLog(@"%@", path); // Output: /Users/john/Documents/file.txt



Objective-C文字列連結の代替方法

Objective-Cでは、文字列を連結するためのショートカットに加えて、以下のような代替方法も使用することができます。

NSStringのcomponentsJoinedByString:メソッド

このメソッドは、文字列の配列を指定して、指定された文字列で各要素を連結した新しい文字列を返します。

NSArray *components = @[@"Hello", @"world"];
NSString *concatenatedString = [components componentsJoinedByString:@" "];
NSLog(@"%@", concatenatedString); // Output: Hello world

NSMutableStringクラスを使用する

NSMutableStringクラスは、可変の文字列を扱うためのクラスです。このクラスのappendString:メソッドやappendFormat:メソッドを使用して、文字列を連結することができます。

NSMutableString *mutableString = [NSMutableString stringWithString:@"Hello"];
[mutableString appendString:@" world"];
NSLog(@"%@", mutableStrin   g); // Output: Hello world

NSAttributedStringクラスは、属性付きの文字列を扱うためのクラスです。このクラスのstringプロパティを使用して、文字列を取得することができます。

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:@"Hello world"];
NSString *concatenatedString = attributedString.string;
NSLog(@"%@", concatenatedString); // Output: Hello world

objective-c nsstring string-concatenation

objective c nsstring string concatenation