Ошибка NSURLConnection, NSMutableData и Cocoa 3840

У меня есть стандартная асинхронная операция NSURLConnection и NSMutableData, которая загружает json из веб-службы.

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse       *)response
{
     _responseData = [[NSMutableData alloc] init];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [_responseData appendData:data];
}


- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
   NSError *error;
   NSDictionary *response = [NSJSONSerialization JSONObjectWithData:_responseData                                                           
                                                            options:NSJSONReadingAllowFragments
                                                              error:&error];

    _responseJson = response;

}

Большую часть времени он работает безупречно, но для полезной нагрузки json с неопределенным размером я получаю ошибку Cocoa 3840 (я проверил достоверность json). Интересно, когда я NSLog необработанные данные в

-connectionDidFinishLoading: 

Он не регистрирует все сразу, и пока логика в методе продолжает выполняться, необработанные данные продолжают загружаться в консоль в шахматном порядке.

 -stringFromData:encoding:

Также возвращает nil, в то время как консоль записывает выходные данные в шахматном порядке. Фактическая полезная нагрузка составляет всего ~ 0,25 МБ. Я пробовал [[NSMutableData alloc] initWithCapacity:] с тем же результатом.


person The Zaporozhian    schedule 16.05.2013    source источник
comment
Попробуйте выделить _responseData перед началом загрузки. Однако вы должны очистить данные в didReceiveResponse, чтобы обрабатывать перенаправления и обязательно проверять/регистрировать ошибки, сначала проверив statusCode (после приведения к NSHTTPURLResponse).   -  person EricS    schedule 16.05.2013
comment
Выделение _responseData перед инициацией соединения не имеет никакого значения, как в didReceiveResponse. Я удалил логику обработки ответов из опубликованного образца для ясности.   -  person The Zaporozhian    schedule 16.05.2013
comment
Нашел проблему. stackoverflow.com/questions/ 12842481/   -  person The Zaporozhian    schedule 06.06.2013