【问题标题】:Why NSMutableSet can be added more objects than capacity为什么 NSMutableSet 可以添加比容量更多的对象
【发布时间】:2014-12-10 07:32:55
【问题描述】:

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

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

返回值 一个可变集合,初始容量可容纳 numItems 成员。

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

【问题讨论】:

    标签: ios nsmutablearray capacity nsmutableset


    【解决方案1】:

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

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

    【讨论】:

    • 这只是一个指示。运行时可以选择使其大于或小于提供的容量。不过,这样做是个好习惯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 2015-06-23
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多