Конвертировать 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 по вашему вкусу.