NSPredicate で NSArray をフィルター処理し、フィルター処理された配列を UITableView に使用しています。ユーザーが UITextField にテキストを入力するときに、このフィルタリングを使用しています。したがって、UITextField のテキストが変更されるたびに、フィルター関数を呼び出しています。
次のようになります。
NSArray *hugeArray = ...;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", input];
_resultArray = [hugeArray filteredArrayUsingPredicate:predicate];
[_myTableView reloadData];
多くのオブジェクトで NSArray を使用すると、入力が非常に遅くなります (UI での完全な入力が遅くなります)。パフォーマンスを向上させたり、フィルタリングされたコマンドをバックグラウンドで実行したりする可能性はありますか?
UITextField への書き込みはブロックされるべきではありません。入力後すぐに UITableView が更新される場合は、問題ない可能性があります。