Ios 创建大型对象数组Objective-C

Ios 创建大型对象数组Objective-C,ios,objective-c,Ios,Objective C,我需要以“a到Z”的方式显示数据库中的项目列表。此项目列表>1200。我的问题是:我可以简单地使用NSArray吗?还是使用类似词典的东西更好?如果您有任何建议,我们将不胜感激。您的问题中没有足够的信息来确定是否使用数组或字典(或集合)。一切都取决于你想如何访问这些东西。如果按关键字,这是一本字典。如果按索引号,则它是一个数组。等等 当然,元素的数量(出现在您的问题中)与选择无关。一个1200件东西的集合就是1200件东西的集合,不管它是什么样的集合。1200很小。如果是12000或120000

我需要以“a到Z”的方式显示数据库中的项目列表。此项目列表>1200。我的问题是:我可以简单地使用NSArray吗?还是使用类似词典的东西更好?如果您有任何建议,我们将不胜感激。

您的问题中没有足够的信息来确定是否使用数组或字典(或集合)。一切都取决于你想如何访问这些东西。如果按关键字,这是一本字典。如果按索引号,则它是一个数组。等等


当然,元素的数量(出现在您的问题中)与选择无关。一个1200件东西的集合就是1200件东西的集合,不管它是什么样的集合。1200很小。如果是12000或120000,您可能会开始考虑在磁盘上保存一个真实的数据库,而不是在内存中保存任何类型的集合。

如果您可以有重复的数据库,并且希望迭代您的集合,则应该使用NSArray


选择数据结构时,要考虑如何使用和访问存储在其中的信息。

我在您的问题中看到的关键提示是“以A到Z的方式”。数组保存对象的有序集合。要以从a到Z的顺序呈现事物集合,需要对它们进行排序

集合和字典是无序的集合

使用对象来保存数据而不是使用简单的内存结构会带来少量开销。如果你要处理数十万或数百万件事情,那么开销可能会成为一个考虑因素。但由于商品数量为4位数,这并不令人担忧

nsarray存储对象。如果您已经在Objet中保存了您的东西,那么NSArray/NSMutableArray是组织对象的最佳选择


正如另一张海报所说,如果你处理大量的对象,你应该考虑使用sql这样的数据库系统,但在你目前的规模下,内存中的解决方案应该是不错的。

如果你想让它们以从a到Z的方式排序,最好使用NSArray,因为它可以排序,与NSDictionaryDisplay不同的是,高效地显示该大小的列表比存储它的问题要大得多。对于一台计算机来说,这真的是一个小数目的项目——计算机通常会处理数以百万计的列表——但在现实世界中显示出来的项目却很多。谢谢邓肯。我基本上是想做到这一点:我们有一系列产品,例如百事可乐,有几个“品牌”,每个都有不同的尺寸(即12盎司、20盎司等)。其中每一项都有一个唯一的产品编号,但需要的是这些项目的a-Z列表,可以在UITableView中显示,然后滚动或搜索。我们目前按品牌、尺寸、包装对其进行分类,但要求的是所有商品。我的问题主要与弹出此视图时的内存和加载时间有关。1200个项目不足以让您担心内存问题。用户体验是唯一真正的问题。你需要一个索引选项卡,就像苹果的联系人应用程序一样,这样用户就可以选择字母表中的一个字母。您可能还需要一个搜索栏,以便用户可以筛选选项列表并找到他们正在寻找的选项。