我只是想知道我有多少个对象可以放入一个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