如果部分和行的总数未知(并且可能很大),如何使用UITableView

时间:2010-09-16 06:43:55

标签: iphone sdk uitableview

通常使用UITableView,每个部分的部分和行数是已知的。但如果他们不是呢?我想实现一个惰性搜索,以便在需要显示新数据时实际搜索下一个匹配项。在db.prepareSearch(query)行上的某些内容,然后在显示新单元格时调用类似db.nextSearchResult()的内容。搜索结果确定是否需要新的部分(搜索结果是固有的排序)。

不确定为什么它不是以这种方式开始的,所以它要求一个部分,直到没有更多可用或需要,并且对于该部分中的单元格,直到不再可用或不需要,而不是必须指定总数,这意味着必须在开始显示前几个结果之前完成整个搜索。

2 个答案:

答案 0 :(得分:2)

要获得部分和行的数量,这很容易 - 询问您的数据源。如果您的数据源无法告诉您这一点,请选择。

例如,如果您必须查询表并询问您的部分有多少行,请执行此操作。然后,对于每个部分,询问与该部分匹配的行数。

您还希望对数据进行分页。当你到达某个点时,有一个“加载更多数据”单元格或某些单元格。这也很好,只需在您的数据源中添加一个标记节点,每当该特定项目出现时,在加载数据时显示备用单元格,然后在获取下一个数据后将其删除。我在一些应用程序中执行此操作。

答案 1 :(得分:0)

如果我正确理解这一点,那么在绘制/填充时,您将知道您有多少行/部分。

如果您使用db.nextSearchResult()更改基础数据,那么您必须调用[tableView reloadData]来触发UI更新,此时您应该知道您有多少个部分和行。

我不得不承认我对这里的确切问题有点困惑。