2009-05-11 14 views
8

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां डेटा विज़ुअलाइजेशन है।सर्वश्रेष्ठ अभ्यास? आईफोन: सिंक डेटा

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

सिंक्रनाइज़ कोई समस्या या बैकएंड & iphone के बीच संबंध है।

लेकिन मुझे अपने आईफोन पर डेटा स्टोरेज के रूप में क्या उपयोग करना चाहिए? सबसे अच्छा तरीका क्या है? मेरा डेटा पूरी तरह से पाठ है और इसे सुरक्षित नहीं होना चाहिए।

लेकिन यह मुख्य विशेषता (जोड़ने और हटाने इतना महत्वपूर्ण नहीं हैं) डेटा के कुछ भागों को अद्यतन करने की जानी चाहिए है।

तो सबसे आसान (पढ़ें: कम से कम समय लेने वाला विकास) या सबसे अच्छा तरीका क्या है?

  • SQLite?
  • plist?
  • ..?

उत्तर

3

शायद सर्वोत्तम परिणाम SQLite के साथ प्राप्त किए जाएंगे। आप ऐप में प्रारंभिक डेटाबेस स्टोर कर सकते हैं और दस्तावेज़ फ़ोल्डर में कॉपी कर सकते हैं। डेटाबेस को सिंक में रखने के लिए स्टार्टअप पर सर्वर से डेल्टा का अनुरोध करें। एक तरफा सिंक के लिए, एक संस्करण फ़ील्ड संग्रहित करना और फिर उस संस्करण के लिए निष्पादित करने के लिए SQL कथन के लिए सर्वर से पूछना पर्याप्त होना चाहिए; दो-तरफा सिंक के लिए, शायद कुछ और जटिल हो जाएगा।

0

डेटा की एक छोटी राशि (उर्फ आप आरामदायक लोड हो रहा है यह सब स्मृति में महसूस करेंगे), मैं का उपयोग कर NSUserDefaults mechanims हठ डेटा, जो आसानी से पर मानक डेटा संरचनाओं की क्रमबद्धता और भंडारण संभाल कर सकते हैं की दुकान चाहते हैं के लिए एप्लिकेशन स्टार्टअप और शटडाउन। यह उपयोग करने के लिए बहुत आसान/त्वरित है।

बड़े डेटासेट कि स्मृति में एक समय में नहीं लोड किया जाना चाहिए के लिए, SQLite उचित लगता है।

+0

डेटा 1 एमबी तक बढ़ सकता है, क्या यह NSUserDefaults के लिए बहुत कुछ नहीं है? क्या एसक्लाइट में डेटा संरचनाओं (जैसे शब्दकोश या सरणी) को सहेजने के लिए कोई अच्छा अभ्यास है? –

0

एनएस डिक्शनरी विधि लिखने के लिए एक और दृष्टिकोण होगा; जो एक NSDictionary लिखेंगे (जो लगता है जैसे यह आपकी स्टोरेज जरूरतों को हल करेगा)। फिर स्टार्टअप पर डेटा को फिर से भरने के लिए आपको प्लेस्ट फ़ाइल (WriteToFile द्वारा लिखित) और फिर NSMutableDictionary initWIthContentsOfFile: पथ के लिए पथ मिलेगा। आवेदन सेटिंग्स:

, जोनाथन Zdziarski द्वारा, अध्याय 11 में "iPhone SDK अनुप्रयोग विकास" में एक नजर डालें। या ऐप्पल के आईफोन एप्लिकेशन प्रोग्रामिंग गाइड के अधिक विस्तृत फ़ाइल और डेटा प्रबंधन अध्याय पर एक नज़र डालें।

मैं तुम्हें रूप में एक ही नाव में था, यह सोच कर मैं एक वेब सेवा से डाउनलोड डाटा स्टोर करने SQLLite आवश्यकता होगी। मैंने वेब सेवा को एक सरल प्रक्रिया के साथ बदल दिया जो JSON अनुरोधों को संभालता है और मेरा डेटा NSDictionary प्रारूप में देता है। फिर मैं आईफोन के लिए जेएसओएन एसडीके 2.2 का उपयोग इनकमिंग जेएसओएन डेटा लेने और एनएस डिक्शनरी में स्टोर करने के लिए करता हूं। फिर जब मैं उपरोक्त वर्णित प्लिस्ट में आसानी से डेटा स्टोर कर सकता हूं।

यह मेरे लिए काम कर रहा है, लेकिन आप अपने डेटा के साथ क्या कर रहे हैं इसके आधार पर शायद आपको कुछ अलग चाहिए।

शुभकामनाएं।

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