यदि आपका मतलब है "क्या मैं अपना xcdatamodel बदल सकता हूं और एनएसएमएनेज्ड ऑब्जेक्ट व्युत्पन्न कक्षाओं के लिए जेनरेट कोड से अपने मौजूदा कोड में परिवर्तनों को विलय कर सकता हूं," हाँ, यह आसान है। आप बस उन मॉडलों के लिए कोड जेनरेट करते हैं जो बदल गए हैं, फिर उन विशेष व्युत्पन्न कक्षाओं में बदलावों को मर्ज करें। चूंकि परिवर्तनों की तरह लगता है कि वे केवल अतिरिक्त विशेषताओं और रिश्ते हैं, यह छोटा होना चाहिए - असल में, यदि आप अपने परिवर्तन वास्तव में प्रकृति में जोड़ते हैं तो आप संभवत: अर्ध-स्वचालित रूप से diff और पैच का उपयोग कर सकते हैं।
हालांकि, यदि आपका मतलब है कि आपको किसी मौजूदा स्टोर को एक नई स्कीमा में माइग्रेट करने की आवश्यकता है, तो आपके पास कुछ काम आगे है। कुछ स्थितियां हैं (ऑर्थोगोनल इकाइयों को जोड़ना, संपत्तियां इत्यादि) जो आपको ऐसा करने के लिए मजबूर नहीं करेंगे। जब आप अपने मौजूदा ऑब्जेक्ट संदर्भ को अपने प्रबंधित ऑब्जेक्ट संदर्भ के लिए लगातार स्टोर समन्वयक में जोड़ने का प्रयास करते हैं तो आपको पता चलेगा कि आपको आवश्यकता है या नहीं।
इससे पहले कि आप एक स्कीमा परिवर्तन करने की शुरुआत करने का निर्णय लें, आपको हमेशा डेटा डेटा में migrations and versioning कैसे करना है - यदि आपके पास मौजूदा स्टोर हैं जो आपको बनाए रखने की आवश्यकता है। यह लगभग उन ऐप्स में मामला है जिनके पास कोर डेटा स्टोर में संग्रहीत उपयोगकर्ता डेटा है। और जब तक आपके पास एक स्वचालित आयात उपकरण या डेटा स्टोर जनरेशन उपयोगिता न हो, तब तक आपके मौजूदा स्थिर स्टोरों को माइग्रेशन की भी आवश्यकता होती है।
मैंने पाया है [कोर डेटा माइग्रेशन और वर्जनिंग] (http://www.timisted.net/blog/archive/core-data- माइग्रेशन/) एप्पल के दस्तावेज में छोड़े गए रिक्त स्थान में काफी स्पष्ट रूप से भर जाता है। एक्सकोड में 'डिज़ाइन> डेटा मॉडल> मॉडल संस्करण जोड़ें' वह चरण था जिसे मैं याद कर रहा था। –
कृपया ध्यान दें: मौजूदा ऑब्जेक्ट्स के नए विशेषताओं के लिए डिफ़ॉल्ट मान सेट प्राप्त करने के लिए आपको "वैकल्पिक" ध्वज अनचेक करना होगा। – Klaas
@SununInman लिंक उपलब्ध नहीं है –