2013-05-17 49 views
0

我有一个索引表格视图,其中的单元格按字母顺序分组成部分。我希望只能在选定索引部分时加载与特定部分关联的数据块。换句话说,我的表格视图是在包含字母A-Z的表格视图右侧有一个可选字段的类型。您可以选择字母P例如跳转到以字母P开头的内容的单元格。有没有办法检测tableview中索引部分的选择?

是否有任何方法检测索引节选择,以便我可以重新加载该节中的单元格我加载与该部分相关的数据块?

回答

1

由于用户使用下侧的索引,UITableViewDataSource tableView:sectionForSectionIndexTitle:atIndex:方法将被调用。

您可以为此方法添加逻辑,如果这是您第一次看到给定的段索引,那么您需要加载该段的数据。

但请记住,在此之前,您已经告诉表中有多少个总计部分以及每个部分有多少行。只要您的表格甚至在显示索引的同时,您至少需要为所有部分加载计数,但不一定是详细数据。

另外请记住,用户可以沿索引列表滑动他们的手指。这意味着桌子会在用户滑动手指时跳转到每个部分。所以,无论你做什么懒惰的加载都需要以一种很好的方式来处理这个问题(而不是让UI慢下来)。

+0

感谢您的完整答案。不幸的是,对我来说,确定每个部分的行数需要很长的时间。我的具体应用是为iPod库中的歌曲标题创建索引部分。使用2000个标题时,大约需要6秒钟将标题从歌曲查询中分成几个部分。我希望我能弄清楚苹果如何在他们的音乐应用程序中瞬间做到这一点。他们的方法似乎在应用程序加载之前缓存了排序规则。如果您有任何意见,我很乐意听到他们。 – JeffB6688

相关问题