web-dev-qa-db-ja.com

変数に文字列を追加

私はJava= Objective-Cにやって来る男です。Javaでは、文字列に変数を追加するには、次の行に沿って何かを行う必要があります。

someString = "This string is equal to " + someNumber + ".";

Objective-Cでそれを行う方法はわかりません。文字列の途中に追加したいNSMutableStringがあります。これを行うにはどうすればよいですか?

私はもう試した:

NSString *someText = @"Lorem ipsum " + someMutableString;
NSString *someText = @"Lorem ipsum " + [someMutableString stringForm];

その他、いくつかは機能していないようです。また、+sと,s。

12
Peter Kazazes

appendString:を使用できますが、一般的には次のようにします。

NSString *someText = [NSString stringWithFormat: @"Lorem ipsum %@", someMutableString];
NSString *someString = [NSString stringWithFormat: @"This is string is equal to %d.", someInt];
NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %@.", someNSNumber];

または、代わりに:

NSString *someOtherString = [NSString stringWithFormat: @"This is string is equal to %d.", [someNSNumber intValue]];

等...

これらの文字列は自動解放されるため、その値を失わないように注意してください。必要に応じて、それらを保持またはコピーして、後で自分で解放します。

29
Rudy Velthuis

これを試して:

NSMutableString * string1 = [[NSMutableString alloc] initWithString:@"this is my string"];

[string1 appendString:@" with more strings attached"];

//release when done
[string1 release];
8
Louie

stringByAppendingStringを使用する必要があります

NSString* string = [[NSString alloc] initWithString:@"some string"];
string = [string stringByAppendingString:@" Sweet!"];

もちろん、終わったら[string release];を忘れないでください。

6
Trevor
NSMutableString *string = [[NSMutableString alloc] init];

[string appendFormat:@"more text %@", object ];