Конвертировать NSDictionary в NSString
Я пытаюсь поместить содержимое NSDictionary в NSString для тестирования, но понятия не имею, как этого добиться. Является ли это возможным? если да, то как это сделать?
Причина, по которой я это делаю: нужно ли проверять содержимое NSDictonary без отладки, запущенной на моем устройстве. поскольку я должен удалить запущенное приложение из панели многозадачности ios, чтобы я мог видеть, сохраняются ли значения, которые я сохраняю в словаре.
Ответы
Ответ 1
Вы можете вызвать [описание aDictionary], или где угодно, потребуется строка формата, просто используйте% @для входа в словарь:
[NSString stringWithFormat:@"my dictionary is %@", aDictionary];
или
NSLog(@"My dictionary is %@", aDictionary);
Ответ 2
Above Solutions будет преобразовывать словарь только в строку, но вы не можете преобразовать эту строку в словарь.
Для этого это лучший способ.
Преобразовать в строку
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];
}
Ответ 3
Вы можете использовать метод description
, унаследованный NSDictionary
от NSObject
, или написать собственный метод, который форматирует NSDictionary
по вашему вкусу.