如何设置以前创建的NSMutableString的文本?

时间:2011-05-30 01:37:26

标签: objective-c cocoa-touch ios nsmutablestring

我有NSMutableString名为makeString。我想在我的程序开头创建它而不必设置它的文本。然后我希望能够设置它的文本。我目前正在使用以下内容来创建它。

NSMutableString *make2String = [[NSMutableString alloc] initWithString:@""];

然后我使用以下内容设置其文本值。

make2String = [NSString stringWithFormat:@"Gold.png"];

可以做或者有更好的方法来设置NSMutableString的文字吗?

3 个答案:

答案 0 :(得分:4)

这不好,你用一个普通的不可变字符串替换你的可变字符串(并在过程中泄漏原始的可变字符串)。如果你想要去那条路线,你可以在释放旧字符串后执行[NSMutableString stringWithFormat:@"Gold.png"]。或者您可以使用NSMutableString的setString:方法来设置内容。

但是如果你实际上没有改变字符串并且只是分配不同的字符串,那么根本不需要NSMutableString。只需做make2String = @"Gold.png";并完成它。

答案 1 :(得分:1)

  NSMutableString * aString = [NSMutableString alloc];
  aString = [aString init];
  [aString setString:@"yourText"];
  [aString setString:@"yourNewText"];
  [aString setString:@"yourNewNewText"];
  //...
  [aString release];

答案 2 :(得分:0)

make2String = [NSMutableString stringWithFormat:@"Gold.png"];

仅供参考:这是我在没有设置文字的情况下分配NSMutableStrings的方式

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