NSXML パーサーを使用して、Web サービスから受け取った SOAP 応答 XML を解析しました。私のルートメソッドでは、
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
このコードを使用して SOAP リクエストを送信しました。ここで、Request 変数には SOAP リクエストが含まれています。データが受信された後、
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
//codes to recieve webData
xmlParser = [[NSXMLParser alloc] initWithData: _webData];
[_xmlParser setDelegate: self];
[_xmlParser setShouldResolveExternalEntities: YES];
[_xmlParser parse];
}
ここで、プログラムは didStartElement 、 didFinishDocument メソッドに流れます。ルート メソッドは xml を解析した後に取得した結果を返す必要がありますが、ブレークポイントを使用してプログラム フローを確認したところ、コードで return ステートメントが呼び出される前に解析メソッドが終了しないため、解析された値を返すことができません。これを解決するにはどうすればよいですか?