我正在开发一个基本的iPhone应用程序,它从SQLite表中提取餐馆对象,并在表格中为用户显示它们。我的应用是基于导航的。我从SQLite数据库中提取数据,然后对它们进行排序没有问题。我没有问题。每个餐馆对象具有各种属性,例如“名称”,“地址”,“类别”(即希腊,意大利等餐馆的类型)等。现在,在从数据库中检索记录之后,我能够成功地将它们放入NSMutableArray中,然后将它们排序为NSArray。
我的问题是,使用这个NSArray(或原始的NSMutableArray),我想创建另一个数组,第一个索引包含“All”,然后每个剩余的索引包含来自的餐厅类别的唯一名称原始列表,按字母顺序排序,然后在下一个屏幕上将其作为表格呈现给用户。从该表中,如果用户选择“全部”,则用户将被带到显示另一个表格的另一个屏幕,在那里他们可以看到所有餐馆,无论其类型如何。
然而,如果用户从可用列表中选择特定类别,则用户将被带到显示仅由那种类型的餐馆组成的表的屏幕(例如,仅意大利餐馆,仅中国餐馆,仅泰国餐馆) )。我该怎么做呢?有什么想法或建议吗?
答案 0 :(得分:0)
一种可能的算法大纲:
for(item in array
))将每个项目的类别属性插入NSMutableSet
(或NSCountedSet
,如果您还想要每个类别的次数发生时)NSSet
sortedArrayUsingDescriptors:
方法获取已排序的类别数组。