2013-10-09 2 views
1

Мне нужно вызвать webService (JSON) и передать пару его содержимого в качестве параметра во второй веб-сервис, а затем вызвать вторую веб-службу. Могу ли я использовать одни и те же данные для Мутабельном this.Like вОдин MutableData для нескольких WebServices

-(void)connectionDidFinishLoading:(NSURLConnection *)connection 

где я получаю содержание, я беру содержимое в строку, а затем очистить responseData и вызвать второй WebService оттуда сам. PS: Требуется минимальное время для извлечения данных для WebService Возможно ли это? Если да, то как я могу это достичь. Спасибо.

+0

'connectionDidFinishLoading:' - последний метод делегата, вызываемый из подстилающего соединения. То есть вы можете безопасно добавить к изменяемому объекту данных при выполнении второго запроса. Хотя, нет необходимости в этом, так как вы всегда можете добавить два объекта NSData для их получения. – CouchDeveloper

+0

Могу ли я узнать, в какой ситуации приложение становится аварийно? – wesley

ответ

-1

Вы можете использовать одну и ту же переменную для хранения данных ответа для двух одновременных служб. при повторном вызове вторых веб-сервисов он вызывает все методы делегата 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 хранит значение до вызова второй веб-службы. didReceiveResponse метод инициирован только ваши вторых службы начинает получать ответ, где вы должны очистить переменный ответ, как этот "[self.webData SetLength: 0]

содержания которого хочет отправить в качестве параметра для следующего обслуживания необходимо отделяется от connectionDidFinishLoading метод

+0

Разве вы не имели в виду «два последовательных соединения», вместо этого «два одновременных соединения»? – CouchDeveloper

+0

Уэсли: По какой-то причине мне нужно закрыть соединение. Если я пойду так, как вы сказали, мое приложение рушится внезапно. – iCodeAtApple

+0

как вы пытались закрыть соединение? – wesley

Смежные вопросы