2015-10-17 5 views
-1

У меня есть 2 функции в моем приложении, которые используют NSURLConnection. Первый - для резервного копирования данных на сервер, второй для восстановления.iOS - не работает NSURLConnection

Проблема заключается в том, что при первом запуске функции резервного копирования и после завершения резервного копирования я запускаю восстановление, восстановление не возвращает никаких данных, но когда я запускаю восстановление как первое и резервное копирование как второе, все работает отлично.

Вот мои коды:

Резервные

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]]; 

       [request setHTTPMethod:@"POST"]; 

        //setings values forHTTPHeaderField ... 

       [request setValue:[NSString stringWithFormat:@"%lu",(unsigned long)[jsonString length]] forHTTPHeaderField:@"Content-length"]; 

       [request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]]; 


       NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO]; 

       [conn scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; 

       [conn start]; 

И чем эта функция - Восстановление

NSMutableURLRequest *request1 = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]]; 

       [request1 setHTTPMethod:@"GET"]; 

       NSURLResponse *response; 

       NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request1 returningResponse:&response error:nil]; 

       NSString *responseString = [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding]; 

       NSLog(@"jsonData: %@", responseString); 

oResponseData являются (нуль) ...

Можете ли вы мне помочь, пожалуйста?

+2

Возможно, вы не заметили, что ваш запрос на резервное копирование является асинхронным и запускает восстановление до завершения резервного копирования? –

+0

Спасибо большое! Это решает эту проблему ... – stepik21

ответ

0

Проблема была только в одном, как сказал Клаус Бённхофф в комментариях. Одно соединение было асинхронным и вторым синхронным ...

Когда я устанавливал синхронные NSURLConnections, он теперь работает как шарм!

Спасибо ему снова.

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