2011-08-04 15 views
6

मैं अपने अनुप्रयोग में एक सेटिंग बंडल .. root.plist युक्त अब मैं है एक स्क्रीन एक चेकबॉक्स .. चेक बॉक्स दबाने पर होता है जो मैं तो DefaultValueXML के लिए BOOL मूल्य बदलना चाहते हैं प्लेस्ट में PSToggleSwitchSpecifier की कुंजी। चूंकि इसे रनटाइम पर किया जा रहा है .. मेरा सवाल यह है कि .. क्या रनटाइम पर फ़ाइल बदल दी जा सकती है और यदि हाँ .. एक विचार दें कि इसे कैसे करें ??क्या मैं गतिशील रूप से सेटिंग बंडल में रूट.प्लिस्ट को संशोधित कर सकता हूं?

यहाँ plist है:

<plist version="1.0"> 
<dict> 
    <key>PreferenceSpecifiers</key> 
    <array> 
     <dict> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>Key</key> 
      <string>Username</string> 
      <key>Title</key> 
      <string>Username</string> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
     </dict> 
     <dict> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>IsSecure</key> 
      <true/> 
      <key>Key</key> 
      <string>Password</string> 
      <key>Title</key> 
      <string>Password</string> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSToggleSwitchSpecifier</string> <-----toggleSwitch 
      <key>Title</key> 
      <string>Remember</string> 
      <key>Key</key> 
      <string>CheckBox</string> 
      <key>DefaultValue</key> <----- Default Value 
      <false/>     <---- want to change this value 
     </dict> 
    </array> 
    <key>Title</key> 
    <string>Settings</string> 
</dict> 
</plist> 

अग्रिम में धन्यवाद;)

+0

उसी के लिए एक ब्लॉग पोस्ट है [यहां] (http://iphonesdevsdk.blogspot.com/2011/04/plist.html)। –

+0

यह root.plist के लिए नहीं है मुझे लगता है कि – Zaraki

+0

यूप सही है। जैसा कि यहोशू ने सुझाव दिया है कि आप एप्लिकेशन बंडल से फ़ाइलों को संशोधित नहीं कर सकते हैं। मुझे आशा है कि उपरोक्त लिंक आपको मदद करेगा। –

उत्तर

11

क्योंकि सेटिंग्स बंडल के अंदर रहता है आपके ऐप के बंडल, आप रनटाइम पर इसे संकलित समय पर नहीं बदल सकते हैं।

हालांकि, आप रनटाइम पर मान सेट करने के लिए NSUserDefaults का उपयोग कर सकते हैं, और सेटिंग एप्लिकेशन स्वचालित रूप से इसे प्रतिबिंबित करेगा। हालांकि, यह कहीं और बचाया जाएगा। आप बस इसे उसी तरह पढ़ सकते हैं जैसे आप सेटिंग बंडल के साथ करेंगे, NSUserDefaults के माध्यम से भी।

ध्यान दें कि आपको सेटिंग बंडल से सीधे नहीं पढ़ना चाहिए, क्योंकि इसका कोई मतलब नहीं है। आपको हमेशा NSUserDefaults का उपयोग करके उपयोगकर्ता डिफ़ॉल्ट को लाने और सेट करना चाहिए। जब उपयोगकर्ता सेटिंग्स अनुप्रयोग में परिवर्तन करता है, तो NSUserDefaults स्वचालित रूप से इसे प्रतिबिंबित करेगा। उन्हें हमेशा सिंक में रखा जाएगा।

+0

के भीतर से चल रहा है क्या आप कृपया बता सकते हैं कि NSUserDefaults का उपयोग करके सेटिंग्स बंडल root.plist में कैसे लिखना है? मैं फ़ाइल को पढ़ने में सक्षम हूं, और मैं सेटिंग्स में बंडल में रूट.प्लिस्ट में ऐप में किए गए संशोधन को अपडेट करना चाहता हूं। – Mithun

2

.. आप आवेदन बंडल के साथ फ़ाइलों को संशोधित नहीं कर सकते

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

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