iphone ios nsstring nsdictionary

iphone - convertir NSDictionary a NSString



ios (3)

Las soluciones anteriores solo convertirán el diccionario en una cadena, pero no puede volver a convertir esa cadena en un diccionario. Para eso es la mejor manera.

Convertir a cadena

NSError * err; NSData * jsonData = [NSJSONSerialization dataWithJSONObject:yourDictionary options:0 error:&err]; NSString * myString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"%@",myString);

Convertir de nuevo al diccionario

NSError * err; NSData *data =[myString dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary * response; if(data!=nil){ response = (NSDictionary *)[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err]; }

Estoy tratando de poner el contenido de un NSDictionary en una NSString para realizar pruebas, pero no tengo idea de cómo lograrlo. ¿Es posible? Si es así, ¿cómo se haría tal cosa?

La razón por la que hago esto es si necesito verificar el contenido de un NSDicitonary sin que el depurador se ejecute en mi dispositivo. ya que tengo que eliminar la aplicación en ejecución de la barra multitarea de ios para poder ver si los valores que estoy guardando en el diccionario todavía están disponibles después.


Puede llamar [aDictionary description], o en cualquier lugar donde necesite una cadena de formato, simplemente use% @ para representar el diccionario:

[NSString stringWithFormat:@"my dictionary is %@", aDictionary];

o

NSLog(@"My dictionary is %@", aDictionary);


Puede usar el método de description heredado por NSDictionary de NSObject , o escribir un método personalizado que NSDictionary a su gusto.