我正在计划通过迭代集合并一次生成块来构建一个潜在的大字符串。如果我只是简单地从一个NSMutableString开始,并反复追加块,那么这是否合理有效地工作,或者它是一个Schlemiel the Painter的情况?对我来说似乎合理的是,NSMutableString的实现方式可以避免这种情况,但在官方文档中我找不到任何关于此的讨论,我想确定。NSMutableString的-appendString:方法是构建大型字符串的有效方法吗?
(现在,我写这篇文章的时候,我意识到,在这种情况下,我可以建立串的一个NSArray并使用-componentsJoinedByString:很容易,但是这将是很好反正就知道了)
正是我在找的,谢谢。 – zem 2010-09-16 21:27:06
+1,真棒。 O(n^2)复制性能不会发生,因为分配的内存呈指数增长,因此分摊的复制成本为O(n)。 – orip 2013-01-07 10:04:58