私のアプリケーションでは、私は約20,000アイテムの大きなテーブルを持っています。私はそれをtableviewに表示しています。しかし、検索バーは動的検索を実行するには遅すぎます。私はNSPredicateメソッドが高性能でNSRangeであることを読んだ。 このメソッドをどのようにapplicateするのか分かりません。nspredicateで高速リサーチ
私のコードは次のとおりです。私は私たちのうち "について" に、NSPredicateを挿入する必要があります
- (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];
}
}
}
?
アスカーのためのThk、ここで私はこのコードを押しますか? "for"サイクルに入りますか? –
ループの代わりに。これはループを置き換えます。 – ssteinberg
[OK]を、しかし私はオブジェクトの本を管理しますか? @ "book.nameには%@"が含まれています。 –