2012-04-12 31 views
48

Tôi đang cố gắng để đưa nội dung của một NSDictionary vào một NSString để thử nghiệm, Nhưng không có ý tưởng làm thế nào để đạt được điều này. Có thể không? nếu như vậy làm thế nào một trong những sẽ làm một điều như vậy?chuyển đổi NSDictionary thành NSString

Lý do tôi làm việc này, Tôi có cần kiểm tra nội dung của một NSDicitonary mà không cần trình gỡ rối đang chạy trên thiết bị của tôi hay không. vì tôi phải xóa ứng dụng đang chạy khỏi thanh đa nhiệm của ios để tôi có thể xem liệu các giá trị tôi đang lưu vào từ điển vẫn có sẵn sau đó hay không.

+0

câu hỏi tương tự: http://stackoverflow.com/questions/3424439/view-contents-of-nsmutabledictionary –

Trả lời

118

Bạn có thể gọi [aDictionary Mô tả], hoặc bất cứ nơi nào bạn sẽ cần một chuỗi định dạng, chỉ cần sử dụng% @ đứng trong cho từ điển:

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

hoặc

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

ahh .. cool, yea Tôi biết cách đăng nhập nhưng không biết bạn có thể làm điều đó để đưa nó vào nsstring .. cool, –

+0

đánh dấu câu trả lời của bạn khi tôi được phép quá :) –

+0

Làm thế nào tôi có thể nhận được vale từ NSData có định dạng JSON. –

12

Bạn có thể sử dụng phương pháp description được kế thừa bởi NSDictionary từ NSObject hoặc viết phương thức tùy chỉnh định dạng NSDictionary theo ý thích của bạn.

+0

phương pháp mô tả cung cấp thêm một số thông tin ngoài dữ liệu từ điển thực tế. – Adeel

51

Giải pháp trên sẽ chỉ chuyển đổi từ điển thành chuỗi nhưng bạn không thể chuyển đổi chuỗi đó thành từ điển. Vì đó là cách tốt hơn.

chuyển sang chuỗi

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

Chuyển đổi Back to điển

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

Nó hoạt động cho một từ điển duy nhất. Điều gì trong trường hợp của nhiều từ điển? Tôi không thể chuyển đổi về từ điển. –

+1

Không hoạt động nếu từ điển có mảng là các giá trị –

+0

@VineetAshtekar xem tiêu đề của câu hỏi này. Vấn đề là chuyển đổi NSDictionary thành NSString. –

Các vấn đề liên quan