No se pudieron leer los datos porque no están en el formato correcto

Ok, ahora estoy comenzando con el desarrollo de iOS y actualmente estoy jugando con NSData usando Obj-C. Recientemente estoy usando el método URLSession: dataTask: didReceiveData para obtener NSData usandoSolicitud HTTP POST. El servidor responderá un objeto JSON que contiene una matriz JSON.

Algo interesante es que cuando los datos de respuesta son demasiado grandes, la parte NSLog se imprimirá: "No se pudieron leer los datos porque no están en el formato correcto". A continuación se muestra la función:

-(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]);
    }
}

¿Me pregunto si alguien sabe la razón potencial que causa este problema?

[Actualizar]

Bueno, una alternativa para resolver este problema podría ser usar NSString para el almacenamiento de datos. Pero tendría que analizarlo por mí mismo. Sin embargo, preferiría usar NSDictionary.

Respuestas a la pregunta(5)

Su respuesta a la pregunta