私は一連のテーブルビューを持っています。最初のテーブル ビューの項目が押されると、Web サービスが呼び出され、XML が少し解析され、データに基づいて次のテーブル ビューが生成されます。XML ドキュメント内の各項目が解析された後、どのようにテーブル ビューを更新できるのか疑問に思っています。個々のアイテムの解析が終了するたびに、テーブル ビュー オブジェクトを xml 解析デリゲートに渡し、テーブル ビューで reloadData を呼び出してみましたが、ドキュメント全体の解析が終了してセルを表示するまで待機します。
1 に答える
1
XML の非同期解析と UI の更新の利点を指摘する人もいますが、XML パーサーの選択が関連している可能性があることにも注意してください。たとえば、を使用するNSXMLParser
と、解析が開始される前にリモート サーバーから XML フィード全体をダウンロードする傾向があります (そのため、解析が行われるときに更新して UI を改善しようとしてもほとんどメリットがありません。 、解析が開始される前にクックされます...解析に費やされる時間は、リモート XML フィードのダウンロードに費やされる時間と比較して、ほとんど無視できます)。
Apple のXMLPerformance サンプルを見ると、実際にNSXMLParser
とLibXML2
. 後者はダウンロードの進行に合わせて解析しますが、前者はダウンロードが完了するまで開始しません。(余談ですが、これは、ユーザー インターフェイスの更新の速さだけでなく、解析プロセスのメモリ フットプリントにも影響します。)
また、Ray Wenderlich の記事How To Choose The Best XML Parser for Your iPhone Projectもご覧になることをお勧めします。
于 2013-01-08T02:35:42.347 に答える