जवाबों:
Xcode 4 में, यदि आपको अपने * .xcdatamodeld फ़ाइल का चयन करने पर फ़ाइल निरीक्षक के "संस्करणित कोर डेटा मॉडल - वर्तमान" अनुभाग के तहत केवल आपके डेटा मॉडल का एक संस्करण दिखाई देता है; या आपके पास अपनी * .xcdatamodel फ़ाइल का दूसरा संस्करण है, जो Xcode के प्रोजेक्ट नेविगेटर में xcdatamodeld बंडल के बाहर दिखा रहा है, नीचे पढ़ें।
इसे ठीक करने के लिए:
1) दोनों में .xcdatamodeld और * .xcdatamodel दोनों को Xcode से प्रोजेक्ट नेवीगेटर में राइट क्लिक करके और "डिलीट" करने के लिए निकालें।
2) जब Xcode द्वारा संकेत दिया जाता है, तो केवल संदर्भ निकालें (बहुत महत्वपूर्ण) पर क्लिक करें ।
3) यदि कोई कैशिंग चल रही है, तो अच्छे उपाय के लिए Xcode को पुनः आरंभ करें।
4) एकल * .xcdatamodeld फ़ाइल को फिर से जोड़ें जिसमें * .xcdatamodel दोनों फ़ाइलें हों।
Xcode को अब रिश्तों को पहचानना चाहिए और प्रोजेक्ट नेविगेटर में * .xcdatamodeld फ़ाइल का विस्तार करने की अनुमति देनी चाहिए। माता-पिता xcdatamodeld बंडल के तहत .xcdatamodel दोनों फ़ाइलों को दिखाने के लिए, वर्तमान मॉडल के बगल में एक हरे रंग का चिह्न भी दिखा सकते हैं। इससे आपको केवल एक संस्करण दिखाने के बजाय फ़ाइल निरीक्षक में डेटा मॉडल के वर्तमान संस्करण का चयन करने की अनुमति मिल सकती है।
Xcode 4.2 के लिए
YourModel.xcdatamodeld पर क्लिक करें
साइड फलक को दृश्यमान बनाएं
"संस्करणित कोर डेटा मॉडल" के तहत, "वर्तमान ड्रॉप डाउन बॉक्स" चुनें, आप डेटा मॉडल का चयन करें।
अब हरे टिक मार्क को आपके वर्तमान डेटा मॉडल में स्थानांतरित कर दिया गया है।
इसने मेरे लिए काम किया: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
कोर डेटा मॉडल संस्करण का चयन करना
अब मेरा ऑटोमैटिक db मॉडल माइग्रेशन काम करता है (डेलिगेट में ऑटोमैटिक माइग्रेशन कोड के साथ)।
आप CoraData से सेटर विधि का भी उपयोग कर सकते हैं ...
बस कुछ इस तरह से करें ...
अपने CustomCoreDataManager.m में :
#import "ObjectiveRecord.h"
और इस तरह init विधि को बुलाओ
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}