Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 分页时优化阵列数据大小_Ios_Arrays_Swift_Uitableview_Pagination - Fatal编程技术网

Ios 分页时优化阵列数据大小

Ios 分页时优化阵列数据大小,ios,arrays,swift,uitableview,pagination,Ios,Arrays,Swift,Uitableview,Pagination,我知道如何使用UITableview实现分页,但我的问题是,我们总是使用现有的完整数据数组附加下一页的数据,因此每一个下一页数组都会增加数组大小 例如,我们在第一页得到50条记录,我们请求下一页,我们再次得到50条记录,然后我们将把这些记录附加到现有的完整数组中,所以完整数组现在有100条记录。我请求的数据大约有100页,因此我的数组将有5000条记录,因为我们知道保存一些起始页数组数据不是一个好主意,因为在访问了100页之后,我们几乎不回来访问起始页 有没有办法优化阵列大小?请帮助我,因为我搜

我知道如何使用UITableview实现分页,但我的问题是,我们总是使用现有的完整数据数组附加下一页的数据,因此每一个下一页数组都会增加数组大小

例如,我们在第一页得到50条记录,我们请求下一页,我们再次得到50条记录,然后我们将把这些记录附加到现有的完整数组中,所以完整数组现在有100条记录。我请求的数据大约有100页,因此我的数组将有5000条记录,因为我们知道保存一些起始页数组数据不是一个好主意,因为在访问了100页之后,我们几乎不回来访问起始页

有没有办法优化阵列大小?请帮助我,因为我搜索了很多,但没有找到这个好答案


我将非常感谢您的帮助,并为我糟糕的英语感到抱歉。

我认为您可以通过将“旧”数据写入本地存储,然后检索并插入到阵列中来实现这一点

因此,假设您已经获取了200个项目。因此,当用户向下滚动时,您获取下一页(接下来的20个项目),您将从数组中“剪切”从0到99的项目并写入文件。现在您的阵列有120个项目。然后,当用户继续滚动并再次达到220(array.count>=220)时,重复相同的逻辑,依此类推。

现在是最有趣的部分。如果用户向后滚动并且顶部可见单元格的索引为,则可以使用服务器端。请看这里:我们需要创建两个数组,一个是服务器数据数组,另一个是旧数组数据,当服务器向您发送第二页数据时,您只需要添加到旧数组中。请检查这可能会对您有所帮助:@Maheshhahane approved Response是在获取下一个数据之前删除所有项目,如果我们在到达第二页后向上滚动,并将其删除,该怎么办将再次获取第一页数据,因此我认为这不是一个好的解决方案。这将对我有用。请检查此项并让我知道。