我正在执行各种搜索,人们正在执行四种非常常见的搜索。我想将结果预加载到一个数组中,这样新用户就不必等待那么久。我如何保存结果,以便下次它们已经存在?
问问题
377 次
1 回答
1
我建议你构建一个缓存,它可以作为一个 NSDictionary 来实现。
searchTerm 可以是键,Results 可以是数组。
这样,当使用相同的 searchTerm 时,如果存在,则返回现有结果,或者继续进行第一次搜索并填充缓存。
如果您希望它在应用程序启动时持续存在,您可以将缓存存储在用户默认值中,或者更精细的持久性(如核心数据)中。
说,你的ResultsCache是NSDictionary,那么逻辑可以
if([ResultsCache objectForKey:searchTerm] == nil){
ResultsArray = [self search:SearchTerm];
[ResultsCache setObject:ResultsArray forKey:searchTerm];
}
return [ResultsCache objectForKey:searchTerm];
于 2012-12-05T21:52:27.277 回答