如何知道ui TableView中的滚动(顶部隐藏单元格/行计数)单元格数

时间:2012-12-24 12:57:59

标签: iphone objective-c sqlite uitableview

在我的应用中,我需要在表格视图中显示1000个联系人。

滚动表格视图非常困难且应用程序变慢

所以对于这个我想在表格视图中只显示一些有限的(10)行数

为此我想使用

SELECT * FROM ContactTitles order by CT_Title desc LIMIT 10 OFFSET HiddenCellsCount;

 SELECT * FROM  ContactTitles order by CT_Title desc  LIMIT 10 OFFSET 0;
 SELECT * FROM  ContactTitles order by CT_Title desc  LIMIT 10 OFFSET 1;
 SELECT * FROM  ContactTitles order by CT_Title desc  LIMIT 10 OFFSET 2;
 SELECT * FROM  ContactTitles order by CT_Title desc  LIMIT 10 OFFSET 990;

这里每次OFFSET都需要根据顶部隐藏/滚动的单元格数进行更改

how to get the count of scrolled rows count in a table view.?.

是否有任何改变以减少我的应用程序的速度

3 个答案:

答案 0 :(得分:1)

您可以使用

获取偏移量
tableView.visibleCells.count

答案 1 :(得分:1)

您可以先加载几个单元格,然后在用户向下滚动时再抓取更多单元格。为此,您可以使用:

   - (void)scrollViewDidScroll:(UIScrollView *)scrollView {


        NSInteger currentOffset = scrollView.contentOffset.y;
        NSInteger maximumOffset = scrollView.contentSize.height + scrollView.frame.size.height;


        if (maximumOffset-currentOffset==maximumOffset)// is at the last row
        {
// your code here
        }
    }

答案 2 :(得分:0)

使用SQLITE尝试使用Core Data和setBatchSize 20或其他东西,而不是这样做,它不会减慢你的应用程序。