私のアプリケーションでは、約 20.000 アイテムの大きなテーブルがあります。テーブルビューで表示しています。しかし、動的検索を行っている間は検索バーが遅すぎます。NSPredicate メソッドは NSRange よりもパフォーマンスが高いと読みました。この方法を適用する方法がわかりません。
私のコードは次のとおりです。
- (void)filterContentForSearchText:(NSString*)searchText
{
[self.filteredListContent removeAllObjects];
for (Book *book in listContent)
{
NSRange range = [book.name rangeOfString:searchText options:NSCaseInsensitiveSearch];
// is very very slow
if (range.location != NSNotFound)
{
[self.filteredListContent addObject:book];
}
}
}
「for」のどこに NSPredicate を挿入する必要がありますか?