1

UITextField の提案を追加しようとしています。これらは、テキスト フィールドの下に UITableView として表示され、ユーザーの入力内容に応じていくつかのエントリが表示されます (たとえば、Google Suggest など)。

これまで試した唯一の方法は、内部 SQLite データベースからの選択です。これは機能しますが、データベースが非常に大きい (約 35000 エントリ) ため、非常に遅くなります。何かを入力するたびに、新しい候補が表示される前にアプリが 4 ~ 5 秒間フリーズします。したがって、この方法は最善ではないと思います。

すべてを NSDictionary にマッピングすることを考えていましたが、テーブルが大きすぎて (約 1.5MB)、NSDictionary を永続的に保持するとメモリの面で非常にコストがかかるのではないかと心配しています。

皆さんは何がベストだと思いますか?

4

1 に答える 1

0

テーブルビューで使用される配列を作成するためにNSThreadを使用することを考えましたか? (ただし、これを介して UIKit 呼び出しを行わないでください)。すべてをメイン スレッドで実行すると、特にデータベースが大きいため、処理速度が大幅に低下します。

NSThread の仕組みがわからない場合は、次のすばらしいチュートリアルをご覧ください: http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/

于 2010-09-06T22:15:10.997 に答える