Я получаю данные ответа от сервера, используя AFHTTPRequestOperation в AfNetworking 2,0jsonObjectWithData, вызывающий сбой памяти?
NSURLRequest *request = [[ServiceHelper instance] getRequestData:postDict :[ServicesConfiguration GET_DOCUMENTS_URL]];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
AFHTTPRequestOperation *requestOperation = [manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *returnData = [[ServiceHelper instance] getReturnDictionary:responseObject];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Метод getReturnDictionary призвал responseObject простой JSON Serializer ..
- (NSDictionary *) getReturnDictionary : (NSData *) data {
if (data == nil) {
return [NSDictionary dictionary];
}
NSError * error = nil;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if (error != nil) {
NSLog(@"Error parsing JSON: %@",error);
return [NSDictionary dictionary];
}
else
return jsonDict;
}
Это прекрасно работает для небольших количеств данные. Но когда объект ответа, как 100mb, приложение висит на
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
А потом около 15 секунд спустя, приложение падает из-за ошибки памяти. Я думаю, что его довольно понятно, что его массивный размер данных, но разве он не сможет справиться с этим?
Если я получаю данные непосредственно из [NSURLConnection sendSynchronousRequest:]; - он работает без зависания или сбоя. Поскольку это то, что я делал изначально, но переключаясь на AFNetworking, чтобы отображать индикатор выполнения более легко.
Любые мысли или советы приветствуются.
Какая ошибка? –
нет ошибки. Говорит: «Приложение на неожиданно прекращено. Сообщение от отладчика: завершено из-за ошибки памяти« –
nserror
Это известная проблема, о которой сообщалось ранее. Я обновил answe. Будет также подан билет для AFNetworking. – bllakjakk