私はさまざまな検索を実行していますが、人々が実行している非常に一般的な検索は4つあります。新しいユーザーがそれほど長く待つ必要がないように、結果を配列にプリロードしたいと思います。結果を保存して、次回それらがすでに存在するようにするにはどうすればよいですか?
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 に答える