Iphone 如何重新加载UITableView以获取更多数据?

Iphone 如何重新加载UITableView以获取更多数据?,iphone,uitableview,Iphone,Uitableview,我有UITableView,我通过JSON查询填充它 我用私人信息填充它,它就工作了 JSON查询具有“site”属性,其中我为每个站点获取20个PMs。所以在开始的时候,我得到Site=0,得到了加载的20pm 现在我想拥有类似于电子邮件应用程序的功能(我相信我在那里看到过):当你向下滚动并到达末尾时(在我的应用程序中达到了20点),应用程序应该加载下一个20点,以此类推 有什么想法可以实现吗?我认为您可以使用自定义逻辑实现类似电子邮件应用程序的功能。您要做的是保留tableview的最后一行

我有UITableView,我通过JSON查询填充它

我用私人信息填充它,它就工作了

JSON查询具有“site”属性,其中我为每个站点获取20个PMs。所以在开始的时候,我得到Site=0,得到了加载的20pm

现在我想拥有类似于电子邮件应用程序的功能(我相信我在那里看到过):当你向下滚动并到达末尾时(在我的应用程序中达到了20点),应用程序应该加载下一个20点,以此类推


有什么想法可以实现吗?

我认为您可以使用自定义逻辑实现类似电子邮件应用程序的功能。您要做的是保留tableview的最后一行以加载更多数据。最后一行应该有类似“加载更多…”的消息。每当用户触摸该行时,您都应该加载更多数据并更新tableview。

保存最后一行的索引路径并实现

 [UITableView reloadRowsAtIndexPaths:withRowAnimation:]
也可以使用:atScrollPosition:animated:

滚动位置

A constant that identifies a relative position in the receiving table view 
(top, middle, bottom) for row when scrolling concludes. 

See “Table View Scroll Position” a descriptions of valid constants in docs
一旦获得最后一个滚动位置,只需重新加载表视图[tableView reloadData]


但有一个问题,我猜一旦你重新加载数据,我认为在重新加载后(我不确定)tableView它会再次将您带到第一行,然后您可以始终保存该tableView的lastIndexpath,重新加载数据后只需:atScrollPosition:animated:或者您可以使用:animated:

关键选项开发部的Stephen James和他的同事遇到了类似的问题:


他们已经构建了一个示例应用程序(ContinoCustomableView),应该会对您有所帮助。源代码可在GitHub上获得:

谢谢,我知道这个理论,但这对我帮助不大。。。所以怎么做?辅导的例子?链接