Pregunta

Tengo una aplicación de iOS que obtiene JSON de un servidor (en forma de NSData).Utilizo el analizador del marco SBJson para convertir eso en un objeto NSDictionary, así:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];

Luego procedo a leer objetos del 'contenido', etc.

Ahora, este código exacto ha funcionado PERFECTO usando una versión antigua del marco SBJson.El programa estuvo bien.Luego implementé una nueva versión del marco SBJson y, de repente, mi programa se bloquea cuando trato de hacer lo mismo con el 'contenido' (para ser más específico, obtengo un error EXC_BAD_ACCESS).

Lo primero que pensé fue que el nuevo SBJsonParser producía un archivo ligeramente diferente, por lo que registré tanto el 'contenido' nuevo como el antiguo en archivos de texto y ejecuté el comando 'diff' en ellos desde la línea de comandos.Son EXACTAMENTE iguales.

Entonces, el ÚNICO cambio que hice fue usar el nuevo SBJsonParser.¿Qué me estoy perdiendo?

¿Fue útil?

Solución

La solución fue cambiar un poco mi código:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top