0

解析されたxmlをUItableviewに表示し、検索バーフィールドの文字が変更された検索バーと検索バーコントローラーがあります。問題は速度にあります。

現在、検索バーのテキストを入力する際に​​、xml ファイルを継続的に取得して解析するには時間がかかります。

これを最適化する方法はありますか?単語エントリが入力された後、検索バーのテキストを検索して解析した後、テーブルビューを遅延ロードするように。

ありがとう

4

1 に答える 1

0

NSOperationの使用を検討します。

モデル データは、テーブル データ ソースとは別の場所に保管してください。私は通常@property (retain, nonatomic) NSArray *data、モデル データと@property (retain, nonatomic) NSMutableArray *tableData現在テーブルに表示されているデータのようなものを使用します。で-searchBar:textDidChange:、前の検索操作をキャンセルし、tableData を空にリセットして、新しい検索操作を開始します。オペレーションは検索を実行し、結果を tableData に追加します。

新しい文字ごとに tableData を空にリセットする代わりに、ユーザー エクスペリエンスを向上させます。検索操作を開始する前に、新しい検索文字列に一致しない項目を単純に削除できます。もちろん、操作によって tableData に既に含まれている項目が追加されないようにする必要があります。

于 2012-05-18T05:58:13.660 に答える