2012-10-26 15 views
17

मैं वास्तव में कोर डेटा इकाई से संबंधित कुछ प्रश्न हैं iOS पर सेटिंग्स विशेषता:कोर डाटा: बनाम "बाहरी रिकार्ड फ़ाइल में स्टोर" "की अनुमति देता है बाह्य संग्रह"

  1. के लिए "बाह्य रिकार्ड में स्टोर फाइल" है केवल स्पॉटलाइट एकीकरण?
  2. मैक ओएस के लिए केवल "बाहरी रिकॉर्ड फ़ाइल में स्टोर" है?
  3. आईओएस सिम्युलेटर पर, जहां "बाहरी रिकॉर्ड फ़ाइलें" संग्रहीत हैं?

इन प्रश्नों को बाइनरी डेटा विशेषता सेटिंग "बाहरी संग्रहण की अनुमति" के साथ भ्रमित नहीं किया जाना चाहिए। मैं समझता हूं कि सेटिंग डेटा के बाहर डेटा> 1 एमबी रखेगी।

  1. आईओएस सिम्युलेटर पर, "बाहरी संग्रहण की अनुमति" कहां संग्रहीत है?

आपकी सहायता के लिए अग्रिम धन्यवाद!

उत्तर

12

यह में (विस्तार से) वर्णन किया गया है Core Data Spotlight Integration Programming Guide के मॉडल अनुभाग का विन्यास:

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

विन्यास निरीक्षक में, गुण आप चाहते हैं कि अनुक्रमित करने के लिए से प्रत्येक के लिए, का चयन करें:

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

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

AFAICT:

  1. हाँ
  2. हाँ
  3. वास्तव में लागू नहीं होता
+0

हाय डैनियल, हाँ मैं पहले कि गाइड और आश्चर्य पढ़ा है अगर यह कह रही है पूरी तस्वीर मुझे लगता है कि अधिक महत्वपूर्ण सवाल यह है कि "आईओएस सिम्युलेटर पर," बाहरी संग्रहण की अनुमति "कहां से संग्रहीत है?" – Timbo

+15

"बाहरी संग्रहण की अनुमति देता है" के पास "बाहरी रिकॉर्ड फ़ाइल में स्टोर" के साथ कुछ लेना देना नहीं है। वे दो पूरी तरह से अलग चीजें हैं।"बाहरी संग्रहण की अनुमति देता है" कोर डेटा बताता है कि यह डेटाबेस के अंदर एक फ़ाइल में डेटा के बड़े ब्लब्स स्टोर कर सकता है। "बाहरी रिकॉर्ड फ़ाइल में स्टोर" स्पॉटलाइट को आपके डीबी के अंदर क्या चुनने के बारे में है। स्पॉटलाइट आईओएस पर नहीं करता है, केवल मैक पर। "बाहरी संग्रहण की अनुमति देता है" आपके मॉडल का हिस्सा है। "बाहरी" फ़ाइलें डीबी फ़ाइल के बगल में संग्रहीत हैं। –

+0

यह ब्लॉग पोस्ट, [कोर डेटा: बाइनरी डेटा के रूप में बड़ी फ़ाइलों को स्टोर न करें] (https://medium.com/@alexedge/binary-attributes-and- माइग्रेशन-in-core-data-bc7cfb3029fc), कहते हैं बाहरी फाइलें .YourAppName_SUPPORT/_EXTERNAL_DATA में संग्रहीत हैं, संभावित रूप से दस्तावेज़ फ़ोल्डर के अंतर्गत। – jk7

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