我正在寻找一些技术指导,也许是一个教程。
我必须在预期的表格视图中容纳更多的行/单元格。
我已经开发/发布了视图/屏幕,但是,如果有很多记录,它的运行速度会很慢,直到下一个发布版本,情况才如此。
我想我需要在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/