我有类似的东西
NSMutableString *eng = [NSMutableString stringWithString:@"Stack"];
[eng appendString:@"overflow"];
现在我想重新初始化对象“eng”以包含任何内容,即简单地@“”
我对我的选择感到困惑。请在其中任何一个中建议,无论哪个是好的做法:
[eng init];
或
[eng initWithString:@""];
或
[eng setString:@""];
答案 0 :(得分:2)
使用[eng setString:@""]
,因为这意味着使用了相同的NSMutableString
实例,并且只更改了其内部内容。
除非您愿意用新实例替换当前字符串实例,否则不能使用initXxx
:
eng = [[NSMutableString alloc] init];
还有[NSMutableString deleteCharactersInRange:]
也要考虑。
然而,在一天结束时,使用这些方法可能差别不大。
答案 1 :(得分:0)
我建议使用第三种选择:
[eng setString:@""];
在这种情况下,您仍然使用相同的实例。
答案 2 :(得分:0)
只需使用setString
代替[[NSMutableString alloc] init];
虽然两者都有效,但前者只是将值更改为空字符串。