我在 SQLite 数据库中有大约 2000 行。每行都有一个整数 ID 和一个字符串值。我想将它们填充到带有字母索引的 UITableView 中,就像联系人应用程序一样。
在不使用 CoreData 的情况下实现与联系人应用程序一样好的性能是否可行,前提是我不需要重新实现 CoreData 为您所做的一切(例如缓存等)?
我尝试使用每页 50 行的分页来实现这一点,并在 tableview 滚动超过 25 行时在另一个线程中预加载下一页。如果滚动不是很快,则此方法有效,但在滚动非常快时仍然滞后。我认为填充 50 个项目的临时 NSArray 的步骤需要很长时间。
此外,这种方法不适用于 UITableView 的索引,因为加载是按顺序完成的,而索引会跳过。我考虑过在初始化时为每个索引键加载前 10 行,但同样会很慢(填充一个包含 260 个项目的数组)。
有什么建议么?