将大型数据库加载到UITableView

时间:2016-07-26 14:59:39

标签: ios objective-c sqlite uitableview

我正在创建一个论坛类型的应用,用户可以在其中提出问题,并可以回答彼此的问题。这些问题最近都存储在UITableView中,并且还将成为搜索功能。后端在Node JS中编码并使用SQLite。目前,我只是加载从后端询问的所有问题,并用它们填充UITableView。但是,我意识到这最终会变得不切实际,因为这个数据库最终会有数千个问题。这通常如何处理?我应该将所有问题都加载到客户端,然后一次向他们展示十个问题吗?或者我应该将数据库更改为一次返回十个数据库并在每次到达表格视图底部时加载新数据库?

3 个答案:

答案 0 :(得分:1)

更简单的解决方案是批量加载数据。您可以在后端进行编码,以根据请求的数据发送数据。

例如:

以具有以下信息的格式请求数据:

 NSDictionary *parameters = @{ 
      @"customerId":@"this-is -not necessary",
      @"pageNumber":[NSNumber numberWithInt:pageOne],
      @"pageSize":@25};

因此服务器会根据您的请求向您发送数据。 在此请求中,您将加载25个结果。当您继续滚动并到达表格视图的末尾时,您可以请求下一批详细信息。

通过这种方式,您不必一次下载所有数据,通过这种方法,应用响应速度也会快得多。

答案 1 :(得分:0)

每次从后端加载新的10或20到表格视图的底部(我的app使用此方法),无需加载所有sqlite的答案,

_currentpage = 1,2,3 ....每页获得10或20个数据

答案 2 :(得分:0)

处理大数据的唯一方法是将其分成小部分。

  1. 使用页面控制数据。
  2. 或者当您在滚动时触及底部时,请加载另一堆数据。