将大型数据库加载到UITableView中的最佳实践

问题描述:

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

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

例如:

请求中具有以下信息,这种格式的数据:

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

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

通过这种方式,您不必一次下载所有数据,使用这种方法也可以使应用程序响应速度更快。

+0

好吧,这似乎是对我来说最好的方法。谢谢! –

承载新的10或20,每次到达从后端表视图的底部(我的应用程序使用此方法),所有的答案不需要加载到sqlite的,

_currentpage = 1,2,3 ... 。everypage获得10个或20个数据

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

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