Ios 不异步接收数据的多个视图的NSURLConnection

Ios 不异步接收数据的多个视图的NSURLConnection,ios,xml-parsing,nsurlconnection,Ios,Xml Parsing,Nsurlconnection,在我的iPAD应用程序中,我有6个UITableView。为了获取每个tableview的数据,我使用NSURLConnection调用一个Web服务,解析从Web服务返回的xml,并将数据存储到数据库中 因为我有6个UITableView,所以我会同时为每个视图发送Webservice请求。然而,我所面临的问题是,对于我的应用程序,在-(void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)data上从Web服务接收数据,1个表视图的情况取决于

在我的iPAD应用程序中,我有6个UITableView。为了获取每个tableview的数据,我使用NSURLConnection调用一个Web服务,解析从Web服务返回的xml,并将数据存储到数据库中

因为我有6个UITableView,所以我会同时为每个视图发送Webservice请求。然而,我所面临的问题是,对于我的应用程序,在
-(void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)data
上从Web服务接收数据,1个表视图的情况取决于其他表视图的解析器执行的数据库操作

例如,tableview的A、B、C、D的webservice请求都是同时发送的。如果我在
-(void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据
函数中获取数据,直到解析接收到的xml并将其保存到我的数据库中,我不会获取其他TableView的响应

我不知道我做错了什么。我知道NSURLConnection是异步的,但我得到的响应似乎不是这样

这是我的密码-

用于发送Web服务请求-

- (void) callMedicationWebService
{
    conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
    if (conn) 
    {
        webData = [[NSMutableData data] retain];
    }
}

-(void) connection:(NSURLConnection *) connection 
didReceiveResponse:(NSURLResponse *) response 
{
    [webData setLength: 0];
}


-(void) connection:(NSURLConnection *) connection 
    didReceiveData:(NSData *) data 
{
    [webData appendData:data];

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"HH:mm:ss"];
    NSString *alertMessage = [formatter stringFromDate:[NSDate date]];
    [formatter release];

    NSLog(@"got data back from WS %@", alertMessage);
}

-(void) connectionDidFinishLoading:(NSURLConnection *) connection 
{
    [connection release];

    // Parse xml
    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:[CommonHelper decodeHTMLCharactorsFromString:webData]];

    TableAHandler *handler = [[TableAHandler alloc] init];
    [handler initTableAHandler];
    [xmlParser setDelegate:handler];
    [xmlParser setShouldResolveExternalEntities:YES];
    [xmlParser setShouldProcessNamespaces:YES];

    BOOL success = [xmlParser parse];
   }

有人能帮我指出我做错了什么吗?

异步并不一定意味着回调函数本身是在单独的线程中调用的

如果希望所有解析过程同时发生,则必须将解析过程移动到单独的线程


虽然更好的解决方案是不使用5个不同的URL请求,而只使用一个返回所有必需信息的URL请求。

这是怎么回事?我也有同样的问题!!!