मैं एक ऐसा एप्लीकेशन विकसित कर रहा हूं जिसमें मैं NSDictionary
का उपयोग करना चाहता हूं। क्या कोई मुझे सही उदाहरण के साथ डेटा स्टोर करने के लिए NSDictionary
का उपयोग करने की प्रक्रिया को समझाते हुए नमूना कोड भेज सकता है?हम एनएस डिक्शनरी में कैसे स्टोर कर सकते हैं? NSDictionary और NSMutableDictionary के बीच क्या अंतर है?
उत्तर
NSDictionary और NSMutableDictionary डॉक्स शायद आपका सर्वश्रेष्ठ दांव हैं। वे भी कैसे की तरह विभिन्न काम करने के लिए, पर कुछ महान उदाहरण ...
है ... एक NSDictionary
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", nil];
NSArray *objects = [NSArray arrayWithObjects:@"value1", @"value2", nil];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects
forKeys:keys];
बनाने ... पुनरावृति पर
for (id key in dictionary) {
NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}
... इसे परिवर्तनीय बनाएं
NSMutableDictionary *mutableDict = [dictionary mutableCopy];
नोट: ऐतिहासिक संस्करण से पहले 2010: [[शब्दकोश mutableCopy] autorelease]
... और बदल यह
[mutableDict setObject:@"value3" forKey:@"key3"];
... तो यह एक फ़ाइल करने की दुकान
[mutableDict writeToFile:@"path/to/file" atomically:YES];
... और इसे वापस पढ़ें एगा
NSMutableDictionary *anotherDict = [NSMutableDictionary dictionaryWithContentsOfFile:@"path/to/file"];
में ... एक मूल्य
NSString *x = [anotherDict objectForKey:@"key1"];
पढ़ें ... जाँच लें कि एक चाबी मौजूद है
if ([anotherDict objectForKey:@"key999"] == nil) NSLog(@"that key is not there");
... डरावना भविष्य वाक्य रचना का उपयोग
2014 से आप वास्तव में सिर्फ टाइप कर सकते हैं dict [@ "कुंजी"] के बजाय [dict objectForKey: @ "कुंजी"]
NSDictionary *dict = [NSDictionary dictionaryWithObject: @"String" forKey: @"Test"];
NSMutableDictionary *anotherDict = [NSMutableDictionary dictionary];
[anotherDict setObject: dict forKey: "sub-dictionary-key"];
[anotherDict setObject: @"Another String" forKey: @"another test"];
NSLog(@"Dictionary: %@, Mutable Dictionary: %@", dict, anotherDict);
// now we can save these to a file
NSString *savePath = [@"~/Documents/Saved.data" stringByExpandingTildeInPath];
[anotherDict writeToFile: savePath atomically: YES];
//and restore them
NSMutableDictionary *restored = [NSDictionary dictionaryWithContentsOfFile: savePath];
अच्छी व्याख्या। यह सहायक था .. –
@ बेन गॉटलिब भाग एक: अच्छी व्याख्याओं के लिए धन्यवाद। वास्तव में मैं MutableDictionary से एक फ़ाइल में अपने दो UItextField डेटा को सहेजना चाहता हूं। यहां आपने 'NSString * savePath = [@" ~/दस्तावेज़/saved.data "stringByExpandingTildeInPath] लिखा है; ', अब मेरा प्रश्न है,' saved.data' फ़ाइल यहां क्या है? मैं इसे कैसे बना सकता हूं? – Tulon
@ बेन गॉटलिब भाग दो: और मेरे मामले में मैंने निम्नलिखित निर्देशिका में एक पाठ फ़ाइल (.rtf) डाली है 'सहायक फाइलें> मीडियाफाइल> दस्तावेज़> userData.rtf'.अब मैं इस प्रकार के Mutabledictionary डेटा को टेक्स्ट फ़ाइल में सहेज सकता हूं ? और इस मामले में सही निर्देशिका क्या होगी? मैं इस '[userData लिखने के लिए फ़ाइल: @ "मीडियाफाइल/दस्तावेज़/userData.rtf" परमाणु रूप से: हाँ];' और इसके साथ [उपयोगकर्ता डेटा लिखने के लिए फ़ाइल: @ "दस्तावेज़/उपयोगकर्ता डेटा.एआरटीएफ" परमाणु रूप से: हाँ, लेकिन, काम नहीं किया एक अच्छा दिन है। – Tulon
मुख्य अंतर: NSMutableDictionary जगह में संशोधित किया जा सकता, NSDictionary नहीं कर सकता। कोको में अन्य सभी एनएसएमयूटेबल * कक्षाओं के लिए यह सच है। एनएसएमयूटेबल डिक्शनरी एनएस डिक्शनरी के है, इसलिए एनएस डिक्शनरी के साथ आप जो भी कर सकते हैं, आप दोनों के साथ कर सकते हैं। हालांकि, एनएसएमयूटेबल डिक्शनरी चीजों को संशोधित करने के लिए पूरक तरीकों को भी जोड़ती है, जैसे विधि setObject:forKey:
।
आप इस तरह दोनों के बीच में बदल सकते हैं:
NSMutableDictionary *mutable = [[dict mutableCopy] autorelease];
NSDictionary *dict = [[mutable copy] autorelease];
मुमकिन है आप एक फ़ाइल में लिख कर डाटा स्टोर करना चाहते हैं।NSDictionary यह करने के लिए एक विधि (जो भी NSMutableDictionary के साथ काम करता है):
BOOL success = [dict writeToFile:@"/file/path" atomically:YES];
किसी फ़ाइल से कोई शब्दकोश पढ़ने के लिए, वहाँ एक इसी विधि:
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:@"/file/path"];
आप के रूप में फ़ाइल में पढ़ना चाहते हैं एक NSMutableDictionary, बस का उपयोग करें:
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:@"/file/path"];
उत्तर के लिए धन्यवाद ... –
- 1. एनएस डिक्शनरी में एनएसएआरएआरई कैसे स्टोर करें?
- 2. एनएस डिक्शनरी
- 3. एनएस डिक्शनरी
- 4. क्या एनएस डिक्शनरी में चाबियाँ और मान हैं?
- 5. एनएस डिक्शनरी के साथ, क्या आप डेटा के प्रकार का निर्धारण कर सकते हैं?
- 6. एनएस डिक्शनरी एक्सएमएल
- 7. एनएस डिक्शनरी (आईफोन एसडीके)
- 8. एनएस डिक्शनरी (एआरसी)
- 9. एनएस डिक्शनरी को
- 10. हैशटेबल और डिक्शनरी के बीच क्या अंतर है?
- 11. सॉर्टेडलिस्ट और सॉर्टेड डिक्शनरी के बीच क्या अंतर है?
- 12. एक एनएस डिक्शनरी
- 13. स्कीमा और डेटा डिक्शनरी के बीच क्या अंतर है?
- 14. एनएससीओडर बनाम एनएस डिक्शनरी, आप कब उपयोग करते हैं?
- 15. किसी ऑब्जेक्ट और डिक्शनरी के बीच अंतर?
- 16. सी # में एनएस डिक्शनरी के बराबर क्या है?
- 17. आईओएस में एनएस डिक्शनरी को जेएसएस प्रारूप में सही तरीके से कैसे परिवर्तित करें?
- 18. मैं NSDictionary/NSMutableDictionary का मूल आदेश कैसे प्राप्त कर सकता हूं?
- 19. क्या हम sandcastle तेज कर सकते हैं?
- 20. क्या बीच का अंतर है परिवर्तनशील और अपरिवर्तनीय
- 21. एक क्यूआर कोड में हम कितना डेटा/जानकारी सहेज सकते हैं/स्टोर कर सकते हैं?
- 22. क्या हम एक कुंजी स्टोर में एकाधिक प्रमाणपत्र और कुंजी लोड कर सकते हैं?
- 23. ढेर और मुफ्त स्टोर के बीच क्या अंतर है?
- 24. अंतर बी/डब्ल्यू हैशटेबल, डिक्शनरी और कीवैल्यूपेयर क्या अंतर हैं?
- 25. Extjs स्टोर में हम 2 कॉलम और 2 मानों के साथ क्वेरी कर सकते हैं?
- 26. यदि एनएस डिक्शनरी मूल्यों के लिए अच्छा है, तो ट्रिपल वैल्यू के लिए क्या अच्छा है?
- 27. एक एनएसएमयूटेबलएरे के साथ फास्ट एन्युमरेशन जिसमें एनएस डिक्शनरी
- 28. मैं आरवीएम के साथ rubygems कैसे स्थापित कर सकते हैं? दोनों के बीच क्या अंतर है?
- 29. NSDictionary
- 30. क्या हम जावास्क्रिप्ट के साथ 302 रीडायरेक्ट कर सकते हैं?
आप NSDictionary प्रलेखन पर एक नज़र होने से शुरू कर सकता है ... – stefanB
विनम्र RTFMs किसी भी तरह स्पष्ट की तुलना में अधिक कास्टिक लगते हैं। –
@stefanB कई नए प्रोग्रामर आधिकारिक दस्तावेज अक्सर बहुत जटिल और भ्रमित होते हैं इसलिए SO पर _x_ का मूल दृश्य मदद करता है। –