1

创建一个容量为 3 的 nsmutableset,但您可以向其中添加 3 个以上的对象。那么真正的容量是多少?

从Apple Docs来看,这似乎还可以,但是“容量”的目的是什么?

返回值 具有初始容量以容纳 numItems 个成员的可变集。

讨论 可变集根据需要分配额外的内存,因此 numItems 简单地建立了对象的初始容量。

4

1 回答 1

4

实际容量仅受可用内存的限制。当您知道集合的实际或近似大小时,初始容量仅允许您避免动态增长集合。这比不断增长集合更有效。

例如,如果你想要一个集合来存储字符串中的字母(即攻击 = {atck}),你知道最多有 26 个不同的字母,所以你可以用初始容量 26 进行初始化——这是一个“提示”初始化器。它可以分配更大或更小的容量。

于 2014-12-10T07:38:51.010 回答