2009-08-30 9 views
0

かなり大きな文字列を作成するループがあります。すべての反復で少しの文字列スニペットがその文字列に追加され、その文字列は大きくなります。 NSMutableStringを使用し、別の文字列を追加するよりも優れた方法がありますか?ループで長い文字列を作成する実行方法?

答えて

2

文字列に追加する際の問題は、文字列に必要なすべての領域が事前に割り当てられていない場合、O(n^2)のパフォーマンスにつながるいくつかの割り当てとコピーが必要になることです。

NSArray:componentsJoinedByString:を使用して、文字列のリストのNSArrayを構築する方がより効果的です。配列に追加することは一定の時間であり、結果として得られる文字列の長さを手前に知るので、最終的な文字列をO(n)時間で与えることができます。

関連する問題