我正在寻找一些技术指导,也许是一个教程。

我必须在预期的表格视图中容纳更多的行/单元格。

我已经开发/发布了视图/屏幕,但是,如果有很多记录,它的运行速度会很慢,直到下一个发布版本,情况才如此。

我想我需要在sqlite查询中使用limit / offset,但是我的表中有节等。

我还必须创建一个单元格/行,用户点按该行/行以显示接下来的50条记录。

这一定是一个非常普遍的问题,之前必须已经讨论过。

我的问题是开发此功能所需的时间。我对项目太了解,无法转换为核心数据

最佳答案

也许核心数据可能是有效的解决方案。如果您使用与NSfetchedResultController链接的NSFetchRequest(及其UITableView),则将为您管理项目。

但是,如果您不想使用核心数据,请在此处提供有关如何执行此操作的简单建议:

在模型中加载一堆数据(例如前50个项目)。加载后,该模型将用于在表上显示数据。当用户到达表格的末尾时,我在该表格视图的页脚部分显示了“显示更多”标签。然后,如果用户单击它,则再次加载数据(其他50项),将它们缓存在模型中并重新加载表,依此类推。

如果您有一个部分和多个行,则可以应用此技巧。

希望能帮助到你。

编辑

如果您不想使用Core Data,请执行以下操作(一些准则)。

使用LIMIT SQL语句限制结果数(例如20)。

在您的.h中创建一个偏移量变量,例如:

NSUInteger offset;


和类似的方法:

- (NSArray*)fecthMore;


然后在.m中,实现如下所示的方法:

- (NSArray*)fecthMore
{
   // using the offset to retrieve the array of results (e.g resultArray)
   // the first time you grab the first 20 elements (0-19), the second time the next 20 (20-39)
   // and so on

   offeset += [resultArray count]; // next 20
   return resultArray;
}


使用返回的数组更新eac时间,可以建立模型。

关于objective-c - Obj-C,UITableView UI的改进可以处理很多记录,又可以点击下一步获取更多行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9453313/

10-14 22:33
查看更多