リクエスト/レスポンスにSOAPとXMLを使用するWebサービスクライアントをiOSに実装したいと思います。私のビューは、最初のbusinnesロジックを開始します(ユーザーがボタンなどを押して、method_Aと呼ばれるbusinnesメソッドを開始します)。
したがって、method_Aを持つクラスがあり、このメソッドはユーザーがログインしているかどうかを確認し、SOAPConnectorクラスを介して非同期でリクエストを開始します。したがって、UIはブロックされません(非同期)。SOAPConnectorクラスはXMLを受け取り、要求を処理します。したがって、sendSynchronousRequestでNSURLRequestとNSURLConnectionを使用します。
応答は、応答を受け取るResponseクラスに送り返されます。次に、このクラスは応答XMLを解析します。したがって、NSXMLParserを使用してxmlを解析するXMLManagerという追加のクラスを使用します。しかし、ここでも、解析されたxmlを取得するデリゲートが必要です。また、解析後、リクエストを開始した最初のクラスに解析済みのxmlを返すための追加のメソッドを実装する必要があります。
これが正しい方法かどうか本当に疑問に思っています。最初の問題は、UIをブロックしないようにする非同期要求(最初のコールバック)です。2番目の問題は、デリゲートを使用するように強制される解析です(2番目のコールバック)。これにより、多くのクラスとメソッドが生成され、これが正しい方法であるとは思えません。クラスの唯一の目的は、デリゲートと非同期の問題を管理することです。だから私は何か提案を求めており、これを解決する方法を助けています。この問題を解決するための優れたデザインパターンをいくつか知っていますか?