我正在尝试实现一种快速搜索的输入机制。
在我目前的实现中,当用户第一次启动应用程序时,他必须稍等片刻才能完成下载过程。在此期间,正在下载有关该应用销售的 20,000 种产品的信息。每个产品都由 NSManagedObject 的一个实例表示,并被添加到 Core Data 数据库中。
真正的问题是使用这些产品的方式。用户再次启动应用程序后(不是第一次),需要将产品加载到内存中,以便快速搜索。为了做到这一点,我遍历整个数据库并为每个包含其信息的产品创建一个 NSDictionary 实例,因为在我的程序中使用字典对象来检索有关产品的信息要容易得多。
因为字典存储在内存中,因此搜索过程非常快,但是迭代 20,000 个对象(每次启动一次)和创建字典需要很长时间(大约一分钟),所以这个解决方案并不好。
我想到了另一种实现快速搜索目标的方法:在输入每个字母后从数据库中获取对象。但我不知道它会有多快。
推荐的方法是什么?
谢谢, Sagiftw