我希望根据电子邮件地址在我的应用中显示联系人缩略图,类似于某些邮件应用为电子邮件对话所做的事情。图像将以表格形式显示。
我已尝试搜索地址簿并获取每个联系人的缩略图,但使用起来太慢了。我也已经尝试过延迟加载由cellForRowAtIndexPath触发的图像,并在后台线程中搜索以便不阻塞主线程。仅使用约7,000个联系人进行测试,每次联系可能需要大约30秒。
以下是一般代码的简短要点 - https://gist.github.com/eytanbiala/7456bfcd0c55be056720 显然,这可以被优化为仅加载所有联系人一次,但是为了问题,这并不重要。
有些用户的设备上最多可能有100,000个联系人,所以这太慢了。
提出的一个建议是将iOS地址簿中的联系人同步到应用程序,并将其保存在Core Data中。当然,这会给应用程序增加不必要的复杂性。
完成此任务的最佳方法是什么?