Я создал массив NSURLConnections, поскольку я выполняю цикл for и создаю несколько NSURLConnections.Обработка ответа с NSURLConnection
Вот мой код
for(int i = 0; i <count; i++)
{
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:finalJson options:NSJSONWritingPrettyPrinted error:&error];
if (!jsonData) {
NSLog(@"Error creating JSON object: %@", [error localizedDescription]);
}
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"httpLink"]];
[request setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:APIKEY forHTTPHeaderField:@"X_API_KEY"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
m_dataPush = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
[m_dataPushArray addObject:m_dataPush];
[m_dataPush start];
}
Теперь, как это асинхронная задача, функции делегата будет называться, как показано ниже, я знаю, как обращаться с одного запроса, как показано ниже
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
if(connection == m_dataPush || connection == m_dataPull)
{
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
m_responseCode = [httpResponse statusCode];//Get status code for response
m_ResponseData = [[NSMutableData alloc] init];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
// Append the new data to the instance variable you declared
if(connection == m_dataPush || connection == m_dataPull)
{
[m_ResponseData appendData:data];
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// The request is complete and data has been received
// You can parse the stuff in your instance variable now
if(connection == m_dataPush || connection == m_dataPull)
{
NSDictionary *response = [NSJSONSerialization JSONObjectWithData: m_ResponseData options: 0 error: &e]; //I am using sbjson to parse
}
}
Но я Не знаю, как я должен обрабатывать массив NSURLConnections в этом делетете
Здравствуйте @danh, я не могу пропустить последний, bcoz, я требую его соединений, которые dont come underthis – Ranjit
@ Ranjit - Хорошо. Может быть проще просто сделать все соединения таким образом.Нет никакого вреда в том, что словарь содержит только одно соединение. – danh
Так что теперь мне не нужен массив соединений, я должен использовать только словарь. Таким образом, создание соединения и вызов [начало соединения] в вышеуказанном коде остаются такими же? Итак, перед тем, как позвонить [начало соединения], я должен добавить его в словарь правильно? – Ranjit