我只是想知道我有多少個對象可以放入一個NSArray,因爲我需要找到一個像一個陣列的功能,但我需要的東西保存大量數據(900到1200個字符串之間)。我正在考慮使用NSDictionary來保存數據,但似乎並不符合法案。你認爲一個NSArray會擁有那麼多對象,還是我應該使用NSDictionary?
回答
從技術上講,NSArray最多可容納NSUIntegerMax對象(這是可從count
返回的最大值)。在像iPhone這樣的32位系統上,這個數字略高於40億。在像大多數Mac電腦一樣的64位系統上,它的數量要高出許多個數量級。當你甚至需要考慮在NSArray中耗盡空間時,你會首先遇到其他縮放問題,例如40億個四字符串將佔用16GB內存。
對於不同大小的陣列,NSArray有兩個內部實現--1200個項目仍然可以在「小陣列」實現中。
小附錄:我剛纔看到一篇有趣的文章,內容是關於'NSArray'的實現細節:[我們的數組,不是](http://ridiculousfish.com/blog/archives/2005/12/23/array/ #fish_made_a_mess) – 2011-04-21 22:33:02
你有多少內存?
除了保存所有數據所需的位數外,沒有實際的上限。 1200項是好的。但是如果這些項目是每一萬字的字符串,你可能會開始需要太多的內存來保存它們。
我有4GB的內存。 – Justin 2011-04-21 21:49:12
問題是修辭:)問題在於「我的陣列可以有多大?」和「我有多少內存?」幾乎是同一個問題。 – 2011-04-21 21:58:11
您可以將無限數量的對象存儲在NSArray中,直到內存不足。 900-1200個字符串不是一個很大的數字,但它顯然取決於每個字符串的長度。你事先知道他們會不會很久?
它們將最多20個字符。 – Justin 2011-04-21 21:48:33
- 1. DWORD可以容納多少個標誌?
- 2. 在swift中,容器可容納多少個對象?
- 3. 有多少文本asp:label控件可以容納多少限制?
- 4. 單個SQL Server 2012數據庫可以容納多少個表?
- 5. Silverlight TextBlock可以容納多少個字符?
- 6. Java StringBuilder可以容納多少個字符?
- 7. javascript數組可以容納多少個變量?
- 8. Java - 你可以有多少個對象?
- 9. SurfaceView可以容納多個ImageViews嗎?
- 10. 隊列可容納多少條消息?
- 11. 光標可以容納多少條記錄
- 12. XMLHttpRequest響應中可以容納多少數據?
- 13. Python 3的int可以容納的最大值是多少?
- 14. 200mb ASP.NET會員數據庫可以容納多少用戶?
- 15. 多維NSArray對象
- 16. 給定機架可容納多少個系統
- 17. 限制Teradata中「*」可容納多少個字段?
- 18. 屬性「currentViewController」,可以容納不同類別的對象
- 19. 爲以下內容創建了多少個字符串對象?
- 20. 谷歌分析可以容納多少財產以及高級谷歌分析?
- 21. 一個ActiveScheduler可以處理多少個活動對象?
- 22. SSIS 2005可以合併加入容納一對多連接
- 23. C++:一次可以添加多個對象的多態容器
- 24. 多個NSArray的和普通的對象
- 25. NSArray中有很多對象
- 26. 如何創建一個可以容納不同類型對象的列表?
- 27. 我可以綁定多少個緩衝區對象?
- 28. 一個對象可以終結的前期成本是多少?
- 29. LINQ每秒可以創建多少個對象?
- 30. Plone文件夾中可以存儲多少個對象?
好的。我從這個問題得到了答案。非常感謝你告訴我。而且,在任何人問起之前,我沒有看到它,當我搜索這樣的問題時 – Justin 2011-04-21 21:30:30