2014-07-24 117 views
1

我有這樣的事情重新初始化的NSMutableString對象

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

現在我想重新初始化對象「工程」包含什麼,即只需@「」

我在我擁有的選項中感到困惑。請當中任何這些表明,無論是一個很好的做法:

[eng init]; 

[eng initWithString:@""]; 

[eng setString:@""]; 

回答

2

使用[eng setString:@""]因爲這意味着同樣的NSMutableString實例使用,只是其內部內容被改變。

不能使用initXxx,除非你願意與一個新的實例來替換當前字符串實例:

eng = [[NSMutableString alloc] init]; 

還有[NSMutableString deleteCharactersInRange:]需要考慮的。

然而,在一天結束時,這些方法中使用哪種方法可能幾乎沒有什麼區別。

+0

感謝這樣一個快速和明確的答覆。 – Sibir

0

我建議使用第三個選項:

[eng setString:@""]; 

在這種情況下,你仍然具有相同背景的工作。

0

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

雖然兩者的工作,前者只是簡單的值變化爲空字符串。