जब मैं अपने अनुप्रयोग के लिए डिफ़ॉल्ट प्राथमिकताएँ सेट कर रहा हूं, मैं निम्नलिखित कर रहा हूँ:रजिस्टर का उपयोग क्यों करें डिफ़ॉल्ट: setValue के बजाय: forKey :?
1) Settings.bundle
अंदर से पढ़ना Root.plist
एक शब्दकोश में।
2) यदि एक प्राथमिकता सेट है, मैं परीक्षण, और यदि नहीं मैं के माध्यम से [NSUserDefaults standardUserDefaults] registerDefaults:]
समस्या मेरी चूक शब्दकोश दर्ज की कर रहा हूँ है, registerDefaults:
के साथ पंजीकृत चूक, लगातार दुकान पर जाने नहीं है, इसलिए यदि कभी नहीं उपयोगकर्ता अपनी वरीयताओं को बदलता है, मैं अपनी डिफ़ॉल्ट वरीयताओं को पढ़ रहा हूं और ऐप लॉन्च होने पर उन्हें NSUserDefaults
के साथ पंजीकृत कर रहा हूं।
registerDefaults:
का उपयोग कर रहा
setValue:forKey:
इस्तेमाल कर सकते हैं और मेरे डिफ़ॉल्ट सेटिंग लगातार दुकान पर जाने के लिए है, & निर्माण करने के लिए प्रत्येक प्रक्षेपण पर एक शब्दकोश रजिस्टर की जरूरत को दरकिनार करने का
। हालांकि, ऐप्पल का documentation और sample code दोनों registerDefaults:
पर इंगित करता है।
तो मैं यह समझने की कोशिश कर रहा हूं कि मुझे कब और क्यों registerDefaults:
का उपयोग करना चाहिए और मुझे इसके बजाय setValue:forKey:
का उपयोग क्यों करना चाहिए?
मुझे यह संबंधित प्रश्न मिला: [इसका उपयोग क्या है - [NSUserDefaults रजिस्टर डिफ़ॉल्ट:]?] (Http://stackoverflow.com/questions/4931167/what-is-the-use-of-nsuserdefaults-registerdefaults) जबकि उत्तरों मतभेदों को समझाते हैं, फिर भी वे वास्तव में नहीं कहते हैं कि आपको एक दूसरे का उपयोग क्यों करना चाहिए। (उत्तर दृढ़ता के बारे में मेरे प्रश्न को अनदेखा करते हैं।) – gabrielk