高效刷新表视图

2024-04-28 22:00:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Django作为我的后端,在我的iOS应用程序中,我通过API获取数据。我有一个UITableView,在那里我获取一个地方列表,这些地方也有一个评级值。在实现了refresh控件之后,我注意到每当我使用refresh时,它总是在数组中附加新数据并创建duplicity。我想到了一个非常简单的解决方案,即在刷新时实际上可以清空数组,以避免重复。这是最有效的方法吗?我很担心,因为现在我有3个地方,在我的后端,我正试图获取和什么时候会有数百个,我们会有任何性能影响?你知道吗


Tags: 数据django方法api应用程序列表地方数组
3条回答

简单地说不,没有任何性能问题,您也可以将新的响应分配给您的变量,而不删除结果就像这样:

result = newResult; 

这是处理这种情况的最佳方法,您最后可以看到它们实现的Google Place API SDK。 这是肯定的,在做了所有的测试用例和分析之后,他们会做任何事情。你知道吗

After implementing the refresh control I noticed that whenever I used to refresh, it used to append the new data in the array and created duplicity. I thought of a very simple solution which is that we can actually empty our array when refreshing so that we can avoid duplicity.

当您刷新数据(pull to refresh)时,您应该清空array数据并用新数据填充它。你知道吗

will we have any performance impact?

如果你的意思是“分页”加载,你可能应该看看这个大问题。我个人非常喜欢twitter's post关于实施时间表。
另外,应该提到的是,屏幕上的显示数据没有问题,因为reloadData()函数只重新加载可见单元格。reload/delete/insertRows也不需要对UI进行如此繁重的操作。所以,实现它的唯一问题就是屏幕和数据库上数据的一致性。你知道吗

我认为最好的方法是分页。在开头提取10或20个数据,并将其保存在数组中,然后加载tableview。当用户开始滚动方法willDisplayCell中的tableview时,增加页面计数,从服务器获取下一个10或20个数据并将其附加到数组中。你知道吗

相关问题 更多 >