重新初始化NSMutableString对象

时间:2014-07-24 11:52:26

标签: objective-c nsmutablestring

我有类似的东西

NSMutableString *eng = [NSMutableString stringWithString:@"Stack"];
[eng appendString:@"overflow"];

现在我想重新初始化对象“eng”以包含任何内容,即简单地@“”

我对我的选择感到困惑。请在其中任何一个中建议,无论哪个是好的做法:

[eng init];

[eng initWithString:@""];

[eng setString:@""];

3 个答案:

答案 0 :(得分:2)

使用[eng setString:@""],因为这意味着使用了相同的NSMutableString实例,并且只更改了其内部内容。

除非您愿意用新实例替换当前字符串实例,否则不能使用initXxx

eng = [[NSMutableString alloc] init];

还有[NSMutableString deleteCharactersInRange:]也要考虑。

然而,在一天结束时,使用这些方法可能差别不大。

答案 1 :(得分:0)

我建议使用第三种选择:

[eng setString:@""];

在这种情况下,您仍然使用相同的实例。

答案 2 :(得分:0)

只需使用setString代替[[NSMutableString alloc] init];

虽然两者都有效,但前者只是将值更改为空字符串。