Ios 多个Web服务的一个可变数据

Ios 多个Web服务的一个可变数据,ios,json,Ios,Json,我需要调用一个webService JSON并将其内容作为参数传递给第二个webService,然后调用第二个web服务。 我可以使用相同的可变数据吗 -(void)connectionDidFinishLoading:(NSURLConnection *)connection 在获取内容的地方,我获取字符串中的内容,然后清除responseData并从那里调用第二个Web服务本身。 PS:为两个Web服务获取数据应该花费最少的时间 有可能吗?? 如果是这样,我如何才能做到这一点。 谢谢。您可

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

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
在获取内容的地方,我获取字符串中的内容,然后清除responseData并从那里调用第二个Web服务本身。 PS:为两个Web服务获取数据应该花费最少的时间 有可能吗?? 如果是这样,我如何才能做到这一点。
谢谢。

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


您想作为参数发送到下一个服务的内容需要与ConnectiondFinishLoading方法分离,您不是说两个连续连接,而是两个同时连接吗?Wesley:我需要关闭连接吗?如果我按照您所说的方式,我的应用程序突然崩溃。你是如何尝试关闭连接的?通过声明First web service global的连接对象,并在didFinish中引用它的实例,我完成了[con close],在使用相同的连接调用第二个web服务之前…我做得对吗???我希望您在创建连接对象后从-void connectiondifinishload:NSURLConnection*Connection启动第二个web服务。好的,。因此,问题可能在于从第一个JSON webservice生成连接对象。ConnectionIDFinishLoading:是从底层连接调用的最后一个委托方法。也就是说,您可以在执行第二个请求时安全地附加到可变数据对象。不过,没有必要这样做,因为你可以总是附加两个NSData对象来获得一个。我可以知道在什么情况下应用程序会崩溃吗?