0

冒頭にNSString追加したいものがあります。{

 NSMutableString *str = [[NSMutableString alloc] initWithString:@"{"];
    [str stringByAppendingString:extracted];

strこれは。のみで返されます{。何故ですか?Objective-Cは、同じことを行うための多くの方法を提供する方法に非常に苛立ちを感じていますが、状況によっては別の方法が必要です。

その後[NSMutableString string]、追加してみましたが、まだ機能しません。なぜこれが機能しないのですか?どうすればよいですか?{extracted

4

3 に答える 3

6

stringByAppendingString新しい文字列を返しますが、古い文字列は変更しません。

stringWithorなどで始まるすべての関数は、arrayWith古いオブジェクトを変更するのではなく、新しいオブジェクトを作成します。

あなたが望むものを達成するためのより簡単な解決策は次のとおりです。

 NSString *str = [NSString stringWithFormat:@"{%@", oldString];

また:

 NSMutableString *str = [@"{" mutableCopy];
 [str appendString:blah];
于 2012-06-13T18:10:49.813 に答える
5

NSString新しい文字列を返し、呼び出された文字列を変更しないメソッドを呼び出しています。に電話する必要がありますappendString

[str appendString:extracted];
于 2012-06-13T18:10:34.843 に答える
1
// use it like this

NSString *extracted = @"this is my string";
NSString *str = [[NSString alloc] initWithString:@"{"];
str =  [str stringByAppendingString:extracted];

これがあなたを助けることを願っています

于 2012-06-13T20:34:31.913 に答える