iOS - 如何处理来自webservice的大量数据

时间:2015-08-05 10:18:39

标签: ios objective-c swift

我从网络服务获取大量数据。如果它返回的记录数量超过1500或2000,则内存溢出并且应用程序崩溃。我不需要在本地保存数据,只需向用户显示数据即可。如何管理它不会崩溃并显示整个数据?

2 个答案:

答案 0 :(得分:1)

您可以在表格视图中使用分页,也可以为您的网络服务使用分页。您可以一次显示有限的数据,如果您滚动它,则显示下一个数据。表格视图可帮助您重复使用单元格并显示2000条记录

例如

http://www.oodlestechnologies.com/blogs/Pagination-in-UITableview

答案 1 :(得分:1)

最好的方法是更改​​Web服务以接受页面参数并返回分页结果。要使其在tableview中看起来无缝,您可以添加无限滚动 - 即如果用户到达row <last-10>,则发送对下一组记录的请求并将其加载到表视图中。

但即便如此,我假设如果你将所有2K记录(你的数据数组)保存在内存中,你最终将面临内存问题。因此,那里也需要一些内存管理。