2010-07-10 5 views
0

Un service Web fournit des données sous forme de plist. Après le téléchargement, j'ai toutes les données dans un objet NSData, que je veux convertir en un NSDictionary. En ce moment, la seule façon que je connaisse de le faire sans l'analyser à la main (beurk) est la suivante:iPhone: Méthode manquante? NSDictionary dictionaryWithData:

static NSString *fileName = @"tempFile"; 
[data writeToFile: fileName atomically: NO]; 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: fileName]; 

Je suis surpris NSDictionary n'a pas dictionaryWithData: méthode. Cela ne me dérangerait même pas de convertir le NSData en un NSString en premier, si dictionaryWithString: existait. Il est clair que le SDK fait quelque chose de similaire sous le capot, mais il n'est pas exposé aux développeurs.

Quelqu'un peut-il suggérer une meilleure façon de le faire? Un des fichiers que j'ai besoin de convertir peut être assez gros, et faire les opérations write-to-file + read-from-file pourrait être un peu lent.

Répondre

2

Utilisez une des options suivantes:

+[NSPropertyListSerialization propertyListFromData:mutabilityOption:format:errorDescription:] 
+[NSPropertyListSerialization propertyListWithData:options:format:error:] 

L'ancien est disponible dans iOS 2.0+, mais a été dépréciée dans la version 4.0.

+0

Excellent! C'est exactement ce dont j'avais besoin. – Amagrammer

Questions connexes