2

我有一个NSMutableStringmakeString. 我想在我的程序开始时创建它,而不必设置它的文本。然后我希望能够设置它的文本。我目前正在使用以下内容来创建它。

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

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

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

可以这样做还是有更好的方法来设置NSMutableString's 的文本?

4

3 回答 3

4

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

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

于 2011-05-30T01:42:40.557 回答
1
  NSMutableString * aString = [NSMutableString alloc];
  aString = [aString init];
  [aString setString:@"yourText"];
  [aString setString:@"yourNewText"];
  [aString setString:@"yourNewNewText"];
  //...
  [aString release];
于 2011-05-30T01:40:32.557 回答
0

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

仅供参考:这就是我在不设置文本的情况下分配 NSMutableStrings 的方式

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

于 2014-09-09T17:07:09.870 回答