Как определить, когда NSURLConnection закончил - PullRequest
0 голосов
/ 10 августа 2011

Я пытаюсь использовать NSURLRequest и NSURLConnection для получения небольшого объема данных (около 50 байт) из веб-API. Я уверен, что приведенный ниже код верен, но как мне получить полученные данные и определить, когда они все загружены?

NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:req delegate:self];

Ответы [ 3 ]

5 голосов
/ 10 августа 2011

Реализуя NSURLConnectionDelegate , вы можете получить данные в методе connection:didReceiveData:, и метод connectionDidFinishLoading: будет вызван после завершения операции. Между тем, connection:didFailWithError: будет вызван, если во время операции возникнет какая-либо ошибка.

1 голос
/ 10 августа 2011

Вы устанавливаете себя в качестве делегата, и соединение будет отправлять вам звонки по мере необходимости.пример: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

0 голосов
/ 10 августа 2011

Вы должны использовать методы делегата, прочитайте документацию здесь: http://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate

...