虽然我们可以将耗时的CoreData数据读取操作放在后台线程里完成,避免界面的卡顿,但如果可以进一步缩短读取操作的时间,则能带来更好的用户使用体验,何乐而不为呢?
如上图所示,虽然我们在等待后台线程读取操作时UI没有卡顿,但若能让主界面List中的数据加载的再快一点就更完美了。
其实,实际优化作出的修改几乎微不足道。
那么还等什么呢?让我们马上开启加速之路吧!
Let‘s Go!
问题分析 1. 原有读取操作的问题因为我们是从后台线程读取到的数据,所以必须将它们转换成主线程可用的对象。
这种转换可以通过托管对象的ID来进行:
let req: NSFetchRequest<