次のようなコードがあります。
-(void)updateString: (NSString*)str {
self.buffer = [self.buffer stringByAppendingString:str];
self.string = [self.buffer stringByAppendingString:@"Always at the end of self.string"];
}
入力:
self.buffer: "blah\n"
self.string: "Always at the end of self.string"
str: "Hello\n"
出力:
self.buffer: "blah\nHello\n"
self.string: "blah\nHello\nAlways at the end of self.string"
がupdateString
非常に頻繁に呼び出されるとself.buffer
、ますます大きくなるにつれてパフォーマンスの問題が発生しますか? これは、シュレミエル・ザ・ペインターのアルゴリズムと同様の非効率性に悩まされるようです。
もしそうなら、私の素朴な実装を改善するために何ができますか? に使用NSMutableString
しself.buffer
ますか?