2011-02-02 49 views
0

我正在研究一个基本的iPhone应用程序,该应用程序从SQLite表中拉取餐馆对象,并在用户表中显示它们。我的应用是基于导航的。从SQLite数据库中提取数据,然后对它们进行排序,我没有任何问题。我能够做到没有问题。每个餐馆对象具有各种属性,例如“名称”,“地址”,“类别”(即希腊语,意大利语等餐厅的类型)等。现在,从数据库中检索记录后,我能够成功地将它们放入NSMutableArray中,然后将它们分类到NSArray中。如何迭代对象的NSArray并创建一个包含原始子集的新NSArray?

我的问题是,使用这个NSArray(或原始NSMutableArray),我想创建另一个数组,第一个索引包含“全部”,然后每个剩余的索引包含餐厅类别的唯一名称从原始列表中按字母顺序排序,然后在下一个屏幕上将其作为表格呈现给用户。从该表中,如果用户选择“全部”,则用户将被带到另一个显示另一个桌子的屏幕,在那里他们可以看到所有餐馆,而不管类型如何。

然而,如果用户从可用列表中选择特定类别,则用户将被带到显示仅由那种类型的餐馆组成的餐桌的屏幕(例如仅意大利餐馆,仅中国餐馆,仅泰国餐厅)。我会如何去做这件事?任何想法或建议?

回答

0

一个可能的算法概要:

  1. 遍历您的NSMutableArray(如for(item in array))将每个项目的类别属性为NSMutableSet(或NSCountedSet如果你愿意也喜欢的时候每个类别的数量发生)
  2. 使用NSSetsortedArrayUsingDescriptors:方法来获得排序的类别数组。
  3. 以任何方式添加所有条目
+0

非常感谢您的及时回复。对此,我真的非常感激! – syedfa 2011-02-03 00:05:56

相关问题