2011-11-09 4 views
0

私はこのアプリケーションを使用して、ユーザーが選択した値に基づいて検索クエリを設定し、XMLデータの束からデータベースを検索するようにしました。uitableviewの性能を向上させる

現時点では、クエリの検索パラメータを受け入れることができる3つのセルがあり、各セルは同じuitableviewにデータを読み込むため、if文を使用してすべてのデータを正しく読み込む必要がありますデータセット。

最初のセルでユーザーはバイクメーカーを選ぶことができ、すべての製造業者がテーブルビューに表示されます。ロードされているxmlには、すべてのmanfactureのモデルをリストする2番目のリストに関連するキー値があります。私は、ユーザーがテーブルビューセルを選択するとすぐに、製造元の選択に基づいて製造元のリストを設定したいと思っています。

ユーザーがメインビューに戻ったときに、本当に高速に作成した2番目のセル(辞書)を選択するようにします。

サブビューがロードされるたびにすべてが実行されます。私の製造リストが非常に大きいので、ユーザーが選択した製造元を選択すると、サブビューに戻るときに検索する製造元が選択されます。非常に長い時間がかかるリストを表示するには、各製造元のすべての単一のモデルにidを組み込む必要があります。

このようなことをどのように試みるかを知りたいと思います。以下は私がそれをやろうと思っている方法のフローチャートです。私はあなたがそれを正しくやっているかどうか、またこれを試みる方法についても、何かコメント/提案をしたいと思います。 (あなたは右のデスクトップと大きなそのたくさんに保存する]をクリックすることができ、画像内のテキストを読み取ることができない場合) enter image description here

任意の助けをいただければ幸いです

答えて

0

適切にあなたはおそらくのいくつかの並べ替えを使用するこれを行うにはあなたのXML入力ファイルの複数のパースを行うのではなく、高速なクエリーを可能にするアプリケーション内のデータ構造。

シンプルな「ファーストカット」ソリューションでは、XMLファイルをNSDictionaryに解析し、製造元 - >モデル関係をクエリできます。 XMLファイルからNSDictionaryを一度構築し、その結果をどこかに保存すると、毎回XMLを調べるよりもはるかに高速に検索できます。

CoreDataを使用して製造元 - >モデル関係を保存することを検討する価値はあるでしょう。これはあなたの代わりにもっと多くのコードを必要としますが、もっと良いオブジェクトモデルを提供します。

+0

hrmm ..私はこのmodleオブジェクトを調べる必要があります。私はこれを何度もやりましたが、私は混乱してしまいます。この質問に追加するだけで、別のビューからsharedCacheにアクセスできますか? –

関連する問題