如何为大量值实现选择器

时间:2010-10-07 09:42:39

标签: iphone cocoa-touch uikit

我有大约20,000条记录(来自SQLite数据库),我需要向用户提供可能的选择,因此传统的选择器控制是不可能的。

另一种可能是索引UITableView,其中用户可以检查所需的值,但是将所有20K记录保留在内存中似乎不是一个好主意。

我应该如何为它实现UI? 编辑:是否可以执行自动完成组合框等操作?

2 个答案:

答案 0 :(得分:1)

我会看一些嵌套的UI,即一个只有A,B,C等的UITableView,当用户按下一行时显示另一个表视图,所有结果都以A开头。

需要有一个查询得到以A,B,C等开头的结果数,所以你只在第一个表中显示实际有结果的字母,但第二个表中的每个查询都会非常简单 - 所有结果以'A'等开头

您永远不必同时将所有20,000个结果加载到内存中:)

但是,您应该确保在您查询的字段上有索引,否则您的查询将会非常缓慢:(


另一种解决方案是使用表格视图顶部的搜索框 - 用户键入字母,每次列表缩小为仅以该字母开头的结果。这是一个非常简单的查询来实现:)

但是,如果用户没有输入任何内容,您仍会遇到如何处理的问题 - 您是否显示要求他们输入的消息,或者您是否在巨大的列表中显示所有20,000个结果?

答案 1 :(得分:0)

您是否了解UIPickerView的“组件”? 20,000个选择可能会推动它,但它肯定是一种方式(用户熟悉)每次旋转将选择范围缩小一个数量级。

如果您发现自己被限制在一个维度,则可以实现主从选择器视图。