преобразование NSDictionary в NSString
Я пытаюсь поместить содержимое NSDictionary в NSString для тестирования, но понятия не имею, как этого добиться. Возможно ли это? если да, то как это можно сделать?
причина, по которой я это делаю, заключается в том, что мне нужно проверить содержимое NSDicitonary без отладчика, работающего на моем устройстве. поскольку мне нужно удалить запущенное приложение из многозадачной панели ios, чтобы я мог видеть, доступны ли значения, которые я сохраняю в словаре, после этого.
3 ответа:
вы можете вызвать [aDictionary description], или в любом месте вам понадобится строка формата, просто используйте %@, чтобы встать в словарь:
[NSString stringWithFormat:@"my dictionary is %@", aDictionary];
или
NSLog(@"My dictionary is %@", aDictionary);
выше решения будут преобразовывать только словарь в строку, но вы не можете преобразовать обратно эту строку в словарь. Для этого это лучший способ.
преобразовать в строку
NSError * err; NSData * jsonData = [NSJSONSerialization dataWithJSONObject:yourDictionary options:0 error:&err]; NSString * myString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"%@",myString);
конвертировать обратно в словарь
NSError * err; NSData *data =[myString dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary * response; if(data!=nil){ response = (NSDictionary *)[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err]; }