2012-04-12 14 views
48

में कनवर्ट करने के लिए मैं एनएस डिक्शनरी की सामग्री को एनएसएसटींग में परीक्षण करने की कोशिश कर रहा हूं, लेकिन मुझे यह नहीं पता कि इसे कैसे प्राप्त किया जाए। क्या यह संभव है? यदि ऐसा है तो कोई ऐसा काम कैसे करेगा?NSDictionary को NSString

कारण मैं यह कर रहा हूं, क्या मुझे अपने डिवाइस पर चल रहे डीबगर के बिना NSDicitonary की सामग्री की जांच करने की आवश्यकता है। क्योंकि मुझे आईओएस के मल्टीटास्किंग बार से चल रहे ऐप को हटाना है, इसलिए मैं देख सकता हूं कि जो शब्द मैं शब्दकोश में सहेज रहा हूं वह अभी भी बाद में उपलब्ध है या नहीं।

+0

इसी प्रकार के प्रश्न पर वापस http://stackoverflow.com/questions/3424439/view-contents-of-nsmutabledictionary –

उत्तर

118

आप कॉल कर सकते हैं [aDictionary विवरण], या कहीं भी आप एक प्रारूप स्ट्रिंग की आवश्यकता होगी, बस% @ का उपयोग शब्दकोश के लिए में खड़े रहने के लिए:

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

या

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

आह .. अच्छा, हाँ मुझे पता है कि इसे कैसे लॉग किया जाए, लेकिन यह नहीं पता था कि आप इसे एनएसस्ट्रिंग में लाने के लिए कर सकते हैं .. शांत, –

+0

बीमार होने पर भी आपके उत्तर को चिह्नित करें :) –

+0

मैं जेएसओएन प्रारूप में एनएसडीटा से कैसे बेकार हो सकता हूं। –

12

आप उपयोग कर सकते हैं description से द्वारा विरासत में प्राप्त विधि, या अपनी पसंद के लिए NSDictionary प्रारूपित एक कस्टम विधि लिखें।

+0

विवरण विधि वास्तविक शब्दकोश डेटा के अलावा कुछ अतिरिक्त जानकारी प्रदान करता है। – Adeel

51

उपरोक्त समाधान केवल स्ट्रिंग में कनवर्ट करेगा, लेकिन आप उस स्ट्रिंग को शब्दकोश में वापस नहीं बदल सकते हैं। इसके लिए यह बेहतर तरीका है।

स्ट्रिंग के लिए Convert

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]; 
} 
+0

यह एकल शब्दकोश के लिए काम किया। एकाधिक शब्दकोशों के मामले में क्या? मैं वापस शब्दकोश में कनवर्ट करने में असमर्थ हूं। –

+1

यदि शब्दकोश में एरे के मूल्य –

+0

@VineetAshtekar के रूप में इस प्रश्न का शीर्षक देखें तो यह काम नहीं कर रहा है। समस्या NSDictionary से NSString में रूपांतरण है। –