2012-01-02 7 views
7

वर्तमान में, मैं एक ऐप विकसित कर रहा हूं कि कार्यक्षमता जेएसओएन डेटा पुनर्प्राप्त करने पर भारी निर्भर करती है। अधिकांश डेटा जो मैं मूल डेटा में सहेजने की योजना बना रहा हूं। हालांकि, मुझे यकीन नहीं है कि मुझे मूल डेटा में सभी उपयोगकर्ता संबंधित सामग्री (सेटिंग्स, पसंदीदा, ट्विटर, फेसबुक और ect।) को भी सहेजना है, या क्या मुझे NSUserDefaults का उपयोग करना चाहिए? पेशेवर और विपक्ष क्या हैं?क्या मुझे कुछ उपयोगकर्ता वरीयताओं को स्टोर करने या एनएसयूसर डीफॉल्ट में सहेजने के लिए कोर डेटा का उपयोग करना चाहिए?

+0

इस उत्तर की एक अच्छी तुलना है: http://stackoverflow.com/questions/6173625/what-are-the-limitations-of-nsuserdefaults – dhirschl

उत्तर

9

आप एप्पल के स्वयं की मार्गदर्शिका का उल्लेख कर सकते: Implementing Application Preferences

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

NSUserDefaults और "अंतर्निहित सेटिंग्स घटक" वास्तव में एक और समान हैं। सेटिंग्स ऐप का उपयोग करना अभी भी NSUserDefaults में वरीयताओं को संग्रहीत करेगा जो आप उस एपीआई के साथ अपने ऐप में एक्सेस करते हैं।

कारण आप अंतर्निहित सेटिंग्स ऐप का उपयोग नहीं करना चाहते हैं: यह उपयोगकर्ताओं के लिए उन सेटिंग्स को बदलने के लिए बोझिल है। यदि आपके पास ऐसी सेटिंग्स हैं जो उपयोगकर्ता अक्सर बदलना चाहते हैं, तो हो सकता है कि आप इसे अपने ऐप के अंदर करना चाहें (जैसे संगीत चालू/बंद करना, खिलाड़ी का नाम बदलना)। साथ ही, चूंकि आपके पास अपने ऐप पर पूर्ण नियंत्रण है, इसलिए आप ऐप्पल को सेटिंग्स.एप

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

+0

2017+ में इस धागे को ढूंढने वाले किसी के लिए, ऊपर लिंक किया गया पृष्ठ अब मौजूद नहीं है । मुझे विश्वास है कि इस गाइड को अब [प्राथमिकताएं और सेटिंग्स प्रोग्रामिंग गाइड] कहा जाता है (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/UserDefaults/Introduction/Introduction.html), अद्यतन संस्करण है। –

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

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