我有一个关于 sqlite 的问题,但在这里没有找到答案,也许您可以在这里回答我或发表文章,这对像我这样的许多其他新开发人员会有所帮助。
问题是关于使用 sqlite 和 CoreData 时的速度。
当我们使用 CoreData 时,我们可以使用 NSFetchedResultsController,它可以更有效地使用内存。
当我们使用 sqlite 时,没有 NSFetchedResultsController 这样的东西,在我看来有两种方法:
在某个数组中的 viewDidLoad 中从 sqlite 数据库中加载所有数据,然后在 tableView:cellForRowAtIndexPath: 中使用这个数组来使用 indexPath.row 作为数组索引来显示数据 - 加载所有数据在我看来是个坏主意
在 viewDidLoad 中获取行数以在 numberOfRowsInSection 中使用它,然后在 tableView:cellForRowAtIndexPath: 中仅加载需要的数据:使用这样的查询 [NSString stringWithFormat: "select id, name from myTable limit 1 offset %d", indexPath.row];
方式 2 是个好主意还是每次都对 sqlite 进行查询以显示数据是个坏主意?如果不是,哪种方式使用起来更快?
谢谢你。