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.

questionAnswers(5)

yourAnswerToTheQuestion