Я отправил асинхронный запрос на веб-сайт, используя следующий код:
NSMutableURLRequest *requestSiteToSendData = [NSMutableURLRequest requestWithURL:[[NSURL alloc]initWithString:@"www.example.com"] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
NSURLConnection *connectionToSiteToSendData = [[NSURLConnection alloc]initWithRequest:requestSiteToSendData delegate:self];
Затем я использовал следующий метод, определенный внутри NSURLConnectionDelegate
, для получения и анализа данных после завершения выборки данных.
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
//parse 'data'
NSString *parsedData = [self parseDataWithData:data];
}
И затем в методе, в котором я отправляю асинхронный запрос, я возвращаю parsedData
. Но возврат должен происходить только после завершения выборки данных и, следовательно, выполнения синтаксического анализа. Я знаю, что возникает вопрос, если это то, что мне нужно, то почему я не использую синхронный запрос. Это потому, что я не хочу, чтобы мои другие методы зависали, когда загрузка происходит в фоновом режиме.