我需要调用一个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/