2013-05-17 7 views
9

NSPersistentStoreCoordinator में चार स्टोर प्रकार हैं: NSSQLiteStoreType, NSXMLStoreType, NSBinaryStoreType, और NSInMemoryStoreType। मैं समझता हूं कि एक्सएमएल स्टोर डिबगिंग के लिए आसान हो सकता है, या मेमोरी में जब आपको अस्थिर कैश की आवश्यकता होती है।NSBinaryStoreType के क्या फायदे हैं?

बाइनरी स्टोर प्रकार का उपयोग करने के वास्तविक फायदे क्या हैं?

उत्तर

13

NSBinaryStoreType कम से कम डिस्क स्थान पर कब्जा करेगा, और परमाणु स्टोर प्रकारों का सबसे तेज़ लोड करेगा।

परमाणु स्टोर प्रकार दस्तावेज़ में प्रत्येक कोर डेटा ऑब्जेक्ट को एक बार लोड करते हैं, इसलिए जब दस्तावेज़ लोड हो जाता है, तो यह सब स्मृति में होता है और जब तक आप save: हिट नहीं करते तब तक डिस्क को कभी भी हिट नहीं करते। NSSQLiteStoreType बाइनरी जैसी डिस्क स्पेस पर कब्जा करेगा, बहुत तेजी से लोड होगा और मनमाने ढंग से सीमित मेमोरी में रह सकता है, लेकिन जब तक ऐप खोलता है तब तक दस्तावेज़ फ़ाइल को डिस्क पर उपलब्ध होने की आवश्यकता होती है - इसे हटाया नहीं जा सकता है या ओवरराइट नहीं किया जा सकता है जब आप इसका उपयोग कर रहे हों तो एक और ऐप द्वारा, जो परमाणु प्रकार सहन करेंगे। एसक्यूएल स्टोर प्रकार की कुछ सीमाएं laid out here के रूप में भी हैं - सामान्य परमाणु स्टोर प्रकारों में बहुत तेजी से प्रदर्शन होता है और आपको लगातार बढ़ती स्मृति पदचिह्न के खर्च पर और अधिक सुविधाएं प्रदान करती हैं।

NSBinaryStoreType किसी भी तरह से सबसे कुशल परमाणु स्टोर प्रकार संभव है, यह किसी भी तरह से संपीड़ित नहीं है। आप अपना खुद का gzipped XML या JSON स्टोर प्रकार लिख सकते हैं जो लोड/सेव की गति के खर्च पर NSSQLiteStoreType या NSBinaryStoreType से कम डिस्क स्थान पर कब्जा कर सकता है।

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