我有一个应用程序,我让用户根据他们从一堆xml数据中选择的值建立一个搜索查询,然后这些值将用于搜索数据库中的内容。
目前,我有3个单元格可以接受查询的搜索参数,每个单元格都将其数据加载到相同的uitableview中,因此我必须对if语句进行一些修改,以确保正确的数据集的一切工作正常。
第一个单元格允许用户选择摩托车制造商,所有制造商都列在表视图中。正在加载的xml有一个与第二个列表相关的键值,该列表列出了每个制造商的型号。我想在用户选择一个表视图单元格时,根据制造商的选择来设置制造商的列表。
因此,当用户返回到主视图时,选择第二个单元格,我创建的(字典)加载速度非常快。
此时,每次加载子视图时,都会完成所有工作。因此,因为我的制造商列表很大,当用户选择他们想要搜索的制造商时,当返回到具有所选制造商的子视图时,必须将id与每个单个制造商的每个单个型号进行比较,以便显示该列表,这需要很长时间。
我想知道你会如何尝试这样的事情。下面是我如何思考的流程图。我想要一些意见/建议,如果你认为我这样做是正确的或错误的,以及如何尝试这样做。

任何帮助都将非常感谢(如果你不能阅读图片中的文本,你可以右键单击保存到桌面,它会变得更大)
发布于 2011-11-09 11:30:50
要正确地做到这一点,您可能希望在应用程序中使用某种数据结构,它允许快速查询,而不是对xml输入文件进行多次解析。
对于一个简单的"first-cut“解决方案,您可以将XML文件解析为一个NSDictionary,并查询制造商的->模型关系。您可以在XML文件中构建一次NSDictionary,然后将结果持久化到某个地方,这样搜索速度就比每次都要查找XML快得多。
对于更健壮的东西,值得研究一下使用CoreData来存储您的制造商->模型关系。这会占用你更多的代码,但会给你一个更好的对象模型。
https://stackoverflow.com/questions/8059729
复制相似问题