Question

J'ai une application iOS qui obtient du JSON à partir d'un serveur (sous la forme de NSDATA). J'utilise l'analyseur du framework SBJSON pour le convertir en un objet NSDictionary, comme ainsi:

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

Je procède ensuite à lire des objets de «Contenu» etc.

Maintenant, ce code exact a fonctionné parfaitement en utilisant une ancienne version du framework SBJSON. Le programme était bien. Ensuite, j'ai implémenté une nouvelle version du framework SBJSON et tout à coup, mon programme se bloque lorsque j'essaie de faire les mêmes choses avec le «contenu» (pour être plus précis, j'obtiens une erreur EXC_BAD_ACCESS).

Ma première pensée a été que le nouveau SBJSonParser a produit un fichier légèrement différent, et j'ai donc enregistré à la fois le nouveau et l'ancien «contenu» pour envoyer des fichiers et exécuter la commande 'Diff' à partir de la ligne de commande. Ils sont exactement les mêmes.

Donc, le seul changement que j'ai apporté était d'utiliser le nouveau SBJSONParser. Qu'est-ce que je rate?

Était-ce utile?

La solution

La solution consistait à changer légèrement mon code:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top