में पार्स प्लास्ट (एनएसएसटींग) तो मेरे पास एक प्लास्ट संरचित स्ट्रिंग है, जो गतिशील रूप से प्राप्त होती है (फ़ाइल सिस्टम से नहीं)। मैं इस स्ट्रिंग को NSDictionary में कैसे बदलूं।एनएस डिक्शनरी
मैं इसे NSData परिवर्तित करने के लिए और फिर NSPropertyListSerialization के साथ एक NSDictionary करने की कोशिश की है, लेकिन यह रिटर्न "[NSCFString objectAtIndex:]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण 0x100539f40 के लिए भेजा" जब मैं NSDictionary तक पहुँचने के लिए, दिखा रहा है कि मेरी शब्दकोश नहीं था प्रयास सफलतापूर्वक बनाया गया।
NSString (कि plist डेटा है) का उदाहरण:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Key1</key>
<dict>
<key>Test1</key>
<false/>
<key>Key2</key>
<string>Value2</string>
<key>Key3</key>
<string>value3</string>
</dict>
</dict>
</plist>
धन्यवाद!
+1 आपका समाधान अच्छी तरह से पॉलिश लगता है - एनएस डिक्शनरी बनाने के लिए अपरिवर्तनीय उपयोग करके और यदि कोई बोनस पॉइंट्स के लायक है तो त्रुटि को रिलीज़ करना याद रखें। :-) –
मैंने लगभग इसे ओवर-रिलीज़ कहा। उम, वाह। वह एपीआई कॉलर को उस त्रुटि स्ट्रिंग को रिलीज़ करने के लिए मेमोरी प्रबंधन नियमों का पूरी तरह से उल्लंघन करता है। –
रिलीज नोट्स के अनुसार, यह तेंदुए में उल्लंघन नहीं हुआ है। के लिए बाहर देखो। इसके बारे में एक बग रिपोर्ट है: http://openradar.appspot.com/5563963 –