为什么 NSMutableSet 可以添加比容量更多的对象



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

从苹果文档来看,这似乎没问题,但是"容量"的目的是什么?

返回值 具有初始容量的可变集,用于保存 numItems 成员。

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

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

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

最新更新