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

-(void)connectionDidFinishLoading:(NSURLConnection *)connection


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

最佳答案

您可以使用相同的变量来保存两个同时服务的响应数据。当您再次调用第二个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方法分开

关于ios - 一个用于多个Web服务的可变数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19265426/

10-08 23:11