3

WeatherアプリにTBXMLを使用することを計画しています。私はこれまでNSURLConnectionでNSXMLParserを使用してきましたが、これははるかに単純で、高速で、より安定している必要があると感じています(現在のコードは非常に複雑で、小さな問題が発生し続け、デバッグが困難です)。

私は少しの間非同期パーサーを探していましたが、TBXMLにつながる記事(「raywenderlichの「iPhoneプロジェクトに最適なxmlパーサーを選択する方法」 )に行き着きました。ドキュメントを読んで、URLで初期化することもできることがわかりました。これにより、NSURLConnectionを使用する必要がなくなります。私の最初の質問はこれです:これに対してNSURLRequestを使用することの利点は何ですか?TBXMLを開始する前に、まずネットワーク接続に問題がないかどうかを確認しますので、問題はありません。

2番目の質問は非同期性についてです。単にinitWithURLまたはinitWithDataを呼び出すと、その処理は非同期になりますか?私が見たところ、デリゲート呼び出しはありませんが、代わりにTBXMLオブジェクトから要素を直接取得します。それが完了する前にそれから要素を取得しようとすると、それは単にそこにぶら下がっていますか?initWithURLを使用すると、これは特に長く続く可能性があるため(これは私の最初の質問にほぼ答えます)、そうであれば、TBXMLは別のスレッド(私はそうだと思います)で実行しても安全ですか?

4

2 に答える 2

1

非同期で解析する場合は、読み取り可能なデータがあるかどうかをたまにチェックするだけでよいため、実行ループで機能するセカンダリスレッドやソケットなどが本当に必要です。パーサーは実際にいくつかの処理パワーを使用する必要があります。

グランドセントラルディスパッチを使用し、データを解析して使用するだけです。糸脱毛が安全かどうかはわかりませんが、安全でないと言われなければ、とにかく安全である可能性が高いです。

于 2011-11-15T11:00:40.693 に答える
-1

http://www.tbxml.co.uk/TBXML/TBXML_Free.html

リンクをたどって答えを入手してください。

于 2012-01-10T09:18:19.223 に答える