我需要从后端api加载大量消息到IOS聊天应用程序的tableview。每次重新加载数据时,整个列表都会被填充。如何在不加载整个列表的情况下更有效地执行此操作?我想加载最后20条消息,当用户向上滚动时,想要从后端获取接下来的20条消息(最后40条消息)。任何帮助,将不胜感激。感谢
答案 0 :(得分:0)
我不知道怎么回事。但我想你会从
调用API- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
以这种方式,每当一个单元格在屏幕上时它就会调用api。这种方法的问题是,每当一个单元格进出屏幕时,你都会调用api。
答案 1 :(得分:0)
你可以做分页。如果您知道一次存在多少行,您可以计算出偏移量,并在行通过* limit - 1后调用API。示例:限制为10,每次用户看到第9个,第19个时都会获取,第29排它提供了一个1行缓冲区来加载接下来的10行。
你甚至可以通过滚动的速度获得更高的动力,通过预取来调整你的攻击性。