1

我需要调用 webService (JSON) 并将其内容作为参数传递给第二个 webService,然后调用第二个 web 服务。我可以为此使用相同的可变数据吗?就像在

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

在我获取内容的地方,我获取字符串中的内容,然后清除 responseData 并从那里调用第二个 webService。 PS:为这两个 WebService 获取数据应该花费最少的时间 这可能吗?如果是这样,我怎么能做到这一点。谢谢你。

4

1 回答 1

-1

您可以使用相同的变量来保存两个同时服务的响应数据。当您再次调用第二个 Web 服务时,它会调用所有 NSURLConnection 委托方法,您必须这样做。

    -(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
        [self.webData setLength: 0];
        NSLog(@"Got Response");
    }
    -(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data 
    {
        [self.webData appendData:data];
        NSLog(@"Got Data");
    }
    -(void) connectionDidFinishLoading:(NSURLConnection *) connection 
    {
        NSLog(@"Received Bytes: %d", [self.webData length]);
      // content needs to be segregated here and call the second service through custom delegate/block
    }

这里 self.webData 保存该值,直到调用第二个 Web 服务。 didReceiveResponse一旦您的第二个服务开始接收响应,您必须清除响应变量,如“[self.webData setLength:0]”,就会启动该方法

您要作为参数发送到下一个服务的内容需要与connectionDidFinishLoading方法分离

于 2013-10-09T07:38:12.163 回答