同じviewcontrollerで2つのWebサービスを呼び出し、xmlを解析する必要があるアプリで立ち往生しています。しかし、両方の Web サービスのデータを解析する方法がわかりません。
4 に答える
質問する前に検索してください。この種の質問はすでにたくさんあります。同じView Controllerで複数のWebサービスを呼び出すリンクは次のとおりです
質問は非常に一般的です。
同様のケースで、2 つの Web サービスに対して作業しなければならなかった場合に遭遇しました。リクエストを保存するか (デリゲート コールバックと比較して、どのリクエストがどれであるかを確認するため)、または AFNetworking のようなものを使用できます: https://github. com/AFNetworking/AFNetworking
ブロックメソッドで応答を返すことができます。一度にすべてのデータが必要な場合 - リクエストとデータ解析の両方が行われたことを確認する関数を呼び出す必要があります。
XML 自体を解析するには、次のような AFNetworking 拡張機能を使用できます: https://github.com/AFNetworking/AFKissXMLRequestOperation
または、次のようなより単純なソリューションを使用することもできます (これは、どのネットワーク フレームワークでも機能します) 。
(組み込みの iOS6 メソッドを使用したくない場合)。
- これは、2 つの Web サービス メソッド呼び出しに対して 2 つの異なる接続オブジェクトを作成することで実現できます。次に、接続オブジェクトを比較することにより、接続デリゲート メソッドが適切なタスクを実行します。
また、xml 応答を解析するに
は、接続オブジェクトを比較することにより、connectionDidFinishLoading メソッドのメソッドを呼び出し
ます。 - 別の方法は、リクエストを呼び出した後、connectDidFinishLoading メソッドで受信したレスポンスを NSString に変換し、2 つのレスポンスを区別する文字列を見つけて
、それぞれの解析メソッドを呼び出すことです。
リクエストを正しく送信するための2つの異なるURLがあり、そのレスポンスを正しく取得する方法が1つしかないので、この問題に直面しましたが、フラグを維持してください
if(flag)
{
then your first response
}
else
{
your second response
}