2011-01-14 17 views
5

में एनएसएमयूटेबलएरे को स्टोर करने के लिए कैसे करें कृपया मुझे बताएं कि मैं NSMutableArray को NSUserDefaults में कैसे स्टोर कर सकता हूं।NSUserDefaults

मेरे पास डेटा (NSArray) नामक एक सरणी है। मैं NSMutableArray में mArray नामक इस सरणी को जोड़ना चाहता हूं।

[mArray addObject:data]; 
[prefs setObject:mArray forkey:@"test"]; 
[prefs synchronize]; 

& NSUserDefaults में mArray मान संग्रहीत करना चाहते हैं। कृपया मुझे बताएं कि मैं इन मानों को पुनः प्राप्त करने के लिए & कैसे स्टोर कर सकता हूं। कोड से ऊपर केवल अंतिम मान संग्रहीत कर रहा है NSUserDefaults में मूल्य जोड़ने नहीं।

धन्यवाद

उत्तर

21

आप नहीं कर सकते। , http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html देखें विशेष रूप से:

मान NSUserDefaults से लौटे अपरिवर्तनीय हैं, तो आप मूल्य के रूप में एक परिवर्तनशील वस्तु सेट करने के बावजूद। उदाहरण के लिए, यदि आप एक म्यूटेबल स्ट्रिंग "MyStringDefault" के मान के रूप में सेट करते हैं, स्ट्रिंग जिसे आपने बाद में स्ट्रिंगफोरकी का उपयोग करके पुनर्प्राप्त किया है: अपरिवर्तनीय होगा।

इसके बजाय, सरणी आप NSUserDefaults से पुनः प्राप्त की एक mutableCopy, अपने वस्तु जोड़ें, और पुन: अपने नए सरणी निर्धारित किया है।

संबंधित मुद्दे