12

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

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

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

私はもう試した:

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

他にもいくつかありますが、どれも機能していないようです。また、+s を,s に置き換えました。

4

4 に答える 4

30

を使用できます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]];

等...

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

于 2011-08-15T20:02:39.513 に答える
8

これを試して:

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

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

//release when done
[string1 release];
于 2011-08-15T20:00:51.767 に答える
6

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

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

もちろん、完了したら忘れないでください[string release];

于 2011-08-15T20:01:33.477 に答える