2010-10-11 19 views
19

मैं एक मौजूदा परियोजना में कोर डेटा कार्यक्षमता जोड़ने की कोशिश कर रहा हूं। मैं एक डाटा मॉडल "myProj.xcdatamodel"आईफोन - मौजूदा परियोजना में कोर डेटा जोड़ें?

में मेरे कोड दुर्घटनाओं नामक फ़ाइल जोड़ा निम्नलिखित जब managedObjectModel क्या फ़ाइल "momd" है मिल रहा है? मैं इसे कहां प्राप्त कर सकता हूं या मैं इसे कैसे बना सकता हूं? जब मैं पथ पढ़ता हूं तो यह शून्य देता है और ऐप को क्रैश करता है।

NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"myProj" ofType:@"momd"]; 
NSURL *modelURL = [NSURL fileURLWithPath:modelPath]; 

उत्तर

29

माम फ़ाइल फ़ाइल फ़ाइल के बराबर संस्करण है। इस बिंदु पर आपके पास दो विकल्प हैं:

  1. अपने मौजूदा myProj.xcdatamodel मॉडल में एक संस्करण जोड़ें। एक्सकोड में myProj.xcdatamodel फ़ाइल का चयन करें और डिज़ाइन -> डेटा मॉडल -> एक्सकोड में मेनू से मॉडल संस्करण जोड़ें चुनें।
  2. केवल गैर संस्करण वाली मॉडल फ़ाइल का उपयोग करें। अपने आपूर्ति किए गए कोड को इस पर बदलें:

    एनएसएसटींग * मॉडलपाथ = [[एनएसबंडल मेनबंडल] पथफॉर रिसोर्स: @ "myProj" टाइप: @ "माँ"]; NSURL * modelURL = [NSURL fileURLWithPath: modelPath];

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

अधिक जानकारी के लिए देखें: Model Versions

+0

धन्यवाद, मैं जब मैं कोड की पहुंच है यह कल की कोशिश करेंगे? किसी को यह कैसे पता चल रहा है? :(इसे दस्तावेज़ीकरण में नहीं मिला। – aryaxt

+0

कोर डेटा वर्जनिंग और डेटा माइग्रेशन प्रोग्रामिंग गाइड पर एक नज़र डालें - http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/CoreDataVersioning/Articles /vmVersioning.html%23//apple_ref/doc/uid/TP40004714-SW1 –

5

"माँ" या "momd" फ़ाइल .xcdatamodel फ़ाइल की संकलित संस्करण है। शायद आपने लक्ष्य में .xcdatamodel फ़ाइल नहीं जोड़ा है, इसलिए यह संकलित नहीं हो रहा है? इस पर जानकारी प्राप्त करें और सुनिश्चित करें कि यह आपके लक्ष्य के लिए तैयार है।

कोरडाटाबुक नमूना कोड भी देखें।

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