2015-02-06 74 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