2015-02-06 73 views

回答

1

那么下标和count属性使用Int。所以这是你的最大值。我假设Int是32位数字,但也许是64位。因此,让一个数组大于你的数量或索引是没有意义的。

实际上,它是32位或64位,具体取决于platform

1

该语言不一定决定数组可以存储多少元素。由于它实际上是一个指向数组的指针,因此可以始终添加更多元素,直到耗尽内存为止。使用4GB的RAM,理论上可以存储40亿(大致)个字节,10亿个字节,或者40亿字节(存储元素的大小)。实质上,它取决于你的RAM。

但是,正如其他答案所述,使用count方法可能返回的更多元素的数组是不切实际的。也就是说,如果你不断添加内存,它不一定会导致你能够存储更多的内容(有一个中断)。因此,快速检查编译器中发生的事情的方法是使用您选择的容量初始化NSMutableArray。过高会给出错误,“整数常量大于最大的无符号整数类型”。通过Apple Docs进行的搜索显示,可以存储的最大int(UInt64)为18446744073709551615.实际上,尝试初始化容量为1的数组,然后您将收到错误消息。现在唯一的困境是,如果你想考虑数组可以存储更多元素的潜力,那么你肯定是不可能的,但无法验证。无论哪种方式,它会打败数组本身的目的。

+2

可变意味着你可以保持沉默;它实际上是“可变的”,这意味着你可以将其龟变成突变体。 – Jessy 2015-02-06 13:26:17

+1

谢谢你指出。 +1为龟! – Andriko13 2015-02-06 16:29:52