Pregunta

Estoy usando el siguiente código para analizar JSON y obtener una fuga de memoria (100%) en la línea número 2. No sé cuál es el problema, ¿alguien puede ayudarme?

    NSString *response = [request responseString];
    NSMutableDictionary *responseJSON = [response JSONValue]; (100% leak)

    NSString *tockenString = [responseJSON objectForKey:@"Token"];
    NSString *userIDString = [responseJSON objectForKey:@"ID"];
¿Fue útil?

Solución

Encontré la respuesta. Vaya a SBJSONPARSER.M FUNCIÓN SCANTRESTOFSTRING y cambie la línea

de

        *o = [[NSMutableString alloc] initWithBytes:(char*)c length:len encoding:NSUTF8StringEncoding];

a

        *o = [[[NSMutableString alloc] initWithBytes:(char*)c length:len encoding:NSUTF8StringEncoding] autorelease];

SBJSONPARSER tiene un similar en ScanRestofString/nsmutableString. Informé el error también. Gracias a todos.

Otros consejos

Elimine esas 2 autoreleases. Eligen exagerado los objetos.

He tenido un problema similar, pero resultó que la fuga fue en realidad más alta en la cadena de métodos, pero los instrumentos apuntaban (erróneamente) a esta línea. Mire los métodos que almacenan los resultados recuperados de este código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top