2012-04-12 12 views
5

Im tratando de utilizar el construido en el marco de JSON en iOS5, pero tengo un problema ARC cuando se trata de compilar este código:JsonValue ARC tema

NSDictionary *results = [jsonString JSONValue]; 

¿Hay una manera equivalente a hacer esto en IOS5, que no plantea un problema de ARC?

tema ARC es: Sin @interface visibles para 'NSString' declara el selector 'JsonValue'

+1

'NSString' no tiene un método' JSONValue' tal vez ha estado usando una categoría en 'NSString' ... ¿se importa? Si no, debe consultar [NSJSONSerialization] (http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html) –

+0

Gracias por la ayuda. Tenías razón, necesitaba ver la clase NSJSONSerialization. – Lahib

+0

esto es lo que quiere [En lugar de Diccionario] (http://stackoverflow.com/questions/18782053/nsarray-returning-string-instead-of-dictionary) – qn5566

Respuesta

12

El mensaje se obtiene mediante 'No hay un método JSONValue declarada en NSString' (que es absolutamente cierto). Con el fin de utilizar el construido en JSON serializador probar esto:

NSError *error; 
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
NSDictionary *results = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error]; 

PS para ver las opciones de la documentación sobre NSJSONSerialization clase. También tenga en cuenta que los resultados también pueden ser NSArray.

+0

Muchas gracias por la ayuda. – Lahib