2010-12-02 13 views
7

इसलिए मैं एक प्लेस्ट फ़ाइल में उपयोगकर्ता सेटिंग्स संग्रहीत कर रहा हूं और ऐसा करने के लिए मैं एक एनएसएआरएआरई में डेटा जोड़ रहा हूं। यह दृष्टिकोण मेरे लिए काम कर रहा है।एक एनएसएआरएआरई में बूलियन मान कैसे स्टोर करें?

मेरी समस्या यह है कि अब मैं सेटिंग्स में एक यूआईएसविच जोड़ रहा हूं और मैं सोच रहा था कि कैसे अपने चालू/बंद राज्य को सरणी में स्टोर करना है ताकि मैं बाद में उस स्थिति तक पहुंच सकूं?

मैं इस तरह सरणी के लिए डेटा जोड़ रहा:

[array addObject: mySwitch.on]; 

तो मैं इस तरह राज्य स्थापित करने के लिए कोशिश कर रहा हूँ:

[mySwitch setOn:[array objectAtIndex:0]]; 
+0

संभव एक तरह से आप कैसे लपेट की तरह - [bool से भर NSArray] (http://stackoverflow.com/questions/3889186/nsarray-filled-with-bool) – BoltClock

+1

आप का उपयोग 'NSNumber' एक बूलियन मान संग्रहीत करने और इसे पुनः प्राप्त करने की नकल एक उपहार अपने रिश्तेदार को भेजने से पहले एक बॉक्स में टी :) अपने 'यूआईएसविच' के साथ इसका उपयोग करने के लिए मेरा उत्तर देखें। – BoltClock

उत्तर

32

NSArray के बाद से केवल (id) रों में ले जाता है (यानी ऑब्जेक्टिव-सी पॉइंटर्स ऑब्जेक्ट्स), आप केवल ऑब्जेक्ट्स स्टोर कर सकते हैं। ,

[array addObject:[NSNumber numberWithBool:mySwitch.on]]; 

यह उपयोग करने के लिए हड़पने कि NSNumber वस्तु है और यह एक boolValue संदेश भेजने:

एक वस्तु में एक BOOL मूल्य स्टोर करने के लिए आम तरीका NSNumber वर्ग के साथ है

[mySwitch setOn:[[array objectAtIndex:0] boolValue]]; 
+0

धन्यवाद मैंने वास्तव में यह देखा, और यह पूरी तरह से काम करता है :) – cgossain

+0

बहुत बढ़िया जवाब! – Supertecnoboff

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