0

我正在执行各种搜索,人们正在执行四种非常常见的搜索。我想将结果预加载到一个数组中,这样新用户就不必等待那么久。我如何保存结果,以便下次它们已经存在?

4

1 回答 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 回答