方法字典和dictionaryWithCapacity之间有什么区别?

时间:2011-09-22 08:14:53

标签: objective-c nsmutabledictionary

[NSMutableDictionary dictionary][NSMutableDictionary dictionaryWithCapacity:10]之间有什么区别?

哪一个更好?

2 个答案:

答案 0 :(得分:3)

dictionaryWithCapacity如果您知道一开始就要放入多少元素会更好。这意味着它可以立即为您的商品分配所需的空间量。

它不会阻止您添加更多内容。它只是意味着如果超过分配的数量,它将不得不分配更多,这可能是更多的资源。

另一方面,如果您不知道需要多少项目,并且分配了太多空间,那么您的内存效率就不高,这在移动设备中非常重要。

我没有任何基准,但我不相信这种差异非常大,所以我不会太激动。

答案 1 :(得分:0)

当你最后在那里放太多时,

dictionaryWithCapacity会回来咬你,或者如果你没有放足够的话,就会浪费空间。我总是使用dictionary,除非我遇到特定的内存或性能问题,而字典似乎是它们的原因。否则,这只是不必要的复杂性。