2011-10-21 8 views
5

मैं एक गेम पर काम कर रहा हूं और उपयोगकर्ता की प्रगति एनएसयूसर डीफॉल्ट के साथ सहेजी जाएगी। क्या यह एक अच्छा या बुरा विचार है ???NSUserDefault के साथ गेम प्रगति को सहेजना: अच्छा या बुरा विचार?

गेम को खोने की संभावना क्या है? क्या ऐसा करने के लिए इससे अच्छा तरीका है?

जब उपयोगकर्ता डिवाइस को सिंक करता है, तो आईट्यून्स NSUserDefaults बैकअप लेंगे? तो यदि उपयोगकर्ता अपने डिवाइस को बदलता है तो वह प्रगति खो नहीं पाएगा, तो उसे डिवाइस को आईट्यून्स के साथ सिंक करना होगा? यह कितना सुरक्षित है?

गेम केंद्र की उपलब्धियों को NSUserDefaults के साथ भी सहेजा जाएगा, यदि उस समय उपयोगकर्ता के पास इंटरनेट कनेक्शन नहीं है।

ठीक है, मैं बस आपकी राय/अनुभव जानना चाहता हूं। सभी कोड दोषपूर्ण काम कर रहे हैं, लेकिन मुझे डर है कि खिलाड़ी किसी कारण से अपनी प्रगति खो सकता है।

यदि कोई भी कोड पर अधिक जानकारी चाहता है तो पूछने के लिए स्वतंत्र हो गया, मैं इसे यहां पोस्ट कर सकता हूं।

धन्यवाद!

+1

+1 मैं भी इस बारे में उत्सुक किया गया है और आपके प्रश्न ने मुझे आवंटित करने में मदद की, हालांकि मैंने जांच की है और 'NSUserDefault 'से संतुष्ट हूं, लेकिन जिज्ञासा मुझे डेटाबेस पर बैंक ले जाती है .. अब कोई जिज्ञासा नहीं है, इस प्रश्न के लिए बहुत धन्यवाद – rptwsthi

उत्तर

4

NSUserDefaults उपयोगकर्ता आईप्यून को सिंक करता है यदि उपयोगकर्ता ऐप को सिंक करता है। जब तक उपयोगकर्ता गेम को हटा नहीं देता तब तक डेटा सुरक्षित होता है।

आप उपयोगकर्ता खेल को हटाने के बाद भी डेटा को संरक्षित करने की जरूरत है, तो आप कहीं और डेटा की बचत विचार कर सकते हैं (जैसे कि, ड्रॉपबॉक्स, अपने सर्वर, आदि)

+0

आपके उत्तर के लिए धन्यवाद। मैं अपने सर्वर पर स्टोर करने के बारे में सोच रहा था, फिर यह कई उपकरणों पर गेम को सिंक करने में सक्षम होगा, उदाहरण के लिए यदि उपयोगकर्ता के पास आईफोन और आईपैड है। किसी भी विचार को यह कैसे करना है, सर्वर पर NSUserDefaults निर्यात करें? कोई कोड नहीं, बस कुछ जो मैं शोध कर सकता हूं वह बहुत अच्छा होगा। – tomDev

+2

आप उस बैकअप के लिए iCloud का उपयोग कर सकते हैं, बस याद रखें कि NSUserDefaults के iCloud समकक्ष 64 केबी – EmilioPelaez

+1

तक सीमित है जो किसी JSON शब्दकोश को क्रमबद्ध करें और उपयोगकर्ता नाम (यदि आपके पास खाते हैं) के साथ अपने सर्वर पर एक स्क्रिप्ट पर इसे पोस्ट करें। स्टार्टअप पर, एक ही यूआरएल से 'प्राप्त करें' और एक JSON डिक्शनरी ऑब्जेक्ट लौटाएं जिसे आप 'NSDictionary' में deserialize करते हैं और मैन्युअल रूप से 'NSUserDefaults' में आयात करते हैं। बस किनारे के मामलों से सावधान रहें, उदाहरण के लिए जब उपयोगकर्ता के दोनों डिवाइसों में गेम पहले से चल रहा है, और उनमें से एक सेटिंग्स को अपडेट करता है .. आप क्या करना चाहते हैं? लगातार सिंक? वर्तमान उदाहरण में जो भी सेटिंग्स हैं, उनके साथ ओवरराइट करें? – darvids0n

9

मेरी राय में, NSUserDefaults पूरी तरह से सुरक्षित है। ऐप के संस्करण अपडेट के बाद सामग्री को भी बनाए रखा जाता है।

+0

सरल और सही उत्तर –

+0

+ 1 @ ZakyGerman पूरी तरह से सही है – rptwsthi

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