Os dados não puderam ser lidos porque não estão no formato correto
Ok, agora estou começando com o desenvolvimento do iOS e atualmente jogando com o NSData usando o Obj-C. Recentemente, estou usando o método URLSession: dataTask: didReceiveData para obter o NSData usandoSolicitação HTTP POST. O servidor responderá a um objeto JSON que contém uma matriz JSON.
Algo interessante é que, quando os dados de resposta são muito grandes, a parte do NSLog será impressa: "Os dados não puderam ser lidos porque não estão no formato correto". Abaixo está a função:
-(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data {
NSError *error;
// get data from NSData into NSDict
NSDictionary *searchData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
NSArray *test = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSMutableDictionary *mdict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSLog(@"what: %@", mdict);
NSLog(@"received data length: %@", [NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);
if (error) {
NSLog(@"json error: %@", [error localizedDescription]);
}
}
Basta saber se alguém sabe o motivo potencial que está causando esse problema?
[Atualizar]
Bem, uma alternativa para resolver esse problema pode estar usando o NSString para armazenamento de dados. Mas teria que analisá-lo sozinho. Eu preferiria usar o NSDictionary embora.