2009-08-23 10 views
47

चूंकि CoreData ओएस 3.0 में आईफोन के लिए उपलब्ध हो गया है, क्या यह डेटा दृढ़ता का जवाब होना चाहिए और सीधे SQLite के लिए सभी आवश्यकताओं को प्रतिस्थापित करना है?आईफोन पर कोरडाटा या SQLite का उपयोग करें?

SQLite का उपयोग करने के लिए अभी भी कौन से कारण मौजूद हैं? SQLite बनाम CoreData के फायदे/नुकसान क्या हैं?

उत्तर

59

यह यहाँ एक आम सवाल है:

सारांश में, कोर डाटा से आपके कोड, विशेष रूप से जटिल के लिए आसान बनाने में कर सकते हैं ऑब्जेक्ट मॉडल आप इसके साथ लगभग मुफ्त में पूर्ववत/फिर से समर्थन प्राप्त करते हैं। यह विशेष रूप से आईफोन पर कुछ बहुत ही महत्वपूर्ण performance benefits प्रदान करता है। भले ही यह counterintuitive लगता है, यह देखते हुए कि ढांचे के बारे में आपको लगता है कि ज्यादातर ओवरहेड, ज्यादातर मामलों में आप कोर डेटा का उपयोग कर हाथ से ट्यून किए गए SQLite के प्रदर्शन को हरा सकते हैं। आईफोन पर, यह मेमोरी उपयोग को कम करने के लिए बैचिंग बैच का एक अच्छा काम करता है।

एक नकारात्मक, जैसा कि इंगित किया गया है, यह है कि यह आपके अंतिम उपयोगकर्ताओं के लिए आईफोन ओएस 3.0 की आवश्यकता के जरिए आपको सीमित करता है। हालांकि, यह मेरे उपयोगकर्ताओं के लिए बिल्कुल कोई समस्या नहीं है, और केवल एक ही आगे जा रहा है।

+0

विचित्र है कि ये मेरी खोज में पॉपअप नहीं किया था। शायद "coredata" के लिए मेरी खोज ने अंतर बनाया। क्या यह पोस्ट हटा दी जानी चाहिए? – Hauke

2

यदि आप चाहते हैं कि आपका एप्लिकेशन आईफोन 3.0 पर नहीं चल रहा है, तो आपको SQLite का उपयोग करना होगा।

हालांकि, कोरडाटा (जो बैकएंड के रूप में SQLite का उपयोग करता है, का उपयोग करता है) का मतलब है कि आपको अपना खुद का डेटाबेस-इंटरैक्शन कोड लिखना नहीं है जो कि काफी परेशानी है, खासकर जब आप संबंध कर रहे हैं आदि

मैं अपने आप को CoreData का उपयोग करें ...

11

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

फिर यदि आप किसी स्थानीय डीबी (किसी भी आईफोन ऐप्स से संबंधित नहीं) का उपयोग करके क्रॉस-प्लेटफार्म विकसित करना चाहते हैं, तो आपको SQLite के साथ पहले से ही कुछ अनुभव होगा।

+2

मुझे यह पसंद है ... मेरे पास एक आईफोन ऐप है जिसे मैं एंड्रॉइड पर ले जा रहा हूं, और डेटा संरचनाएं एक बात है जिसे मुझे अपने सीखने में चिंता करने की ज़रूरत नहीं है। – AndyD273

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