2011-06-01 1 views
7

मैं बीयर समीक्षा के लिए एक दस्तावेज़-आधारित अनुप्रयोग बनाने की कोशिश कर रहा हूं जो आपको अपने नोट्स दर्ज करने की अनुमति देता है। मैंने कोर डेटा में मॉडल और इंटरफेस बिल्डर में दृश्य बनाया है। कुछ एक्सकोड 3-आधारित ट्यूटोरियल्स के बाद, मुझे नए एनएसएआरए कंट्रोलर को फ़ाइल के मालिक के प्रबंधित ऑब्जेक्ट कॉन्टेक्स्ट से कनेक्ट करने के लिए कहा जाता है। यदि मैं एक्सकोड 4 में कोशिश करता हूं और करता हूं, तो एनएसएआरएआर कंट्रोलर के इंस्पेक्टर में "मॉडल कुंजी पथ" के बगल में एक चक्रवात विस्मयादिबोधक बिंदु आता है।क्या आप Xcode 4 में NSArrayController के प्रबंधित ऑब्जेक्ट संदर्भ को बाध्य करते हैं?

मैं वास्तव में एक्सकोड 3 में इंटरफ़ेस बिल्डर में .xib फ़ाइल लोड कर सकता हूं, उस कनेक्शन को बना सकता हूं, और उसके बाद इसे एक्सकोड 4 में बना सकता हूं और यह चलता है, लेकिन प्रत्येक फ़ील्ड एक सत्यापन त्रुटि उठाती है।

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

एकमात्र चीज़ जो मैं समझ सकता हूं वह यह है कि फ़ाइल के मालिक और एनएसएआरएआर कंट्रोलर के बीच कनेक्शन में कुछ गलत हो रहा है।

मैंने इस बिंदु पर कोई कोड नहीं लिखा है, क्योंकि मुझे समझ में आता है कि मुझे केवल यूआई फ़ील्ड और कोर डेटा को लिंक करने की आवश्यकता नहीं है। क्या यह अलग है क्योंकि मैं दस्तावेज़-आधारित एप्लिकेशन का उपयोग कर रहा हूं? (मैं इसे एक खिड़की ऐप में काम करने के लिए नहीं मिल सकता।)

"कोर डेटा का उपयोग न करें" का उत्तर उत्पादक नहीं होगा; मुझे पता है कि मैं सिर्फ नियमित डेटा ऑब्जेक्ट पर वापस आ सकता हूं। यदि संभव हो तो मैं कोर डेटा के संदर्भ में इसे समझना चाहता हूं।

टीआईए!

(अपडेट: यह प्रश्न बहुत से लोगों को परेशान कर रहा है। मैंने कोर डेटा, कोको प्रोग्रामिंग पर हिलेगैस बुक और दो O'Reilly किताबों पर ज़रारा पुस्तक से परामर्श लिया है। वे सभी एक्सकोड पर आधारित हैं 3.)

+0

यदि आप xib फ़ाइल में प्रबंधित ऑब्जेक्ट संदर्भ जोड़ते हैं तो क्या होता है?एक परीक्षण प्रोजेक्ट पर मैं प्रबंधित ऑब्जेक्ट संदर्भ में एक सरणी नियंत्रक को बांधने में सक्षम था, लेकिन जब मैंने प्रोजेक्ट चलाया तो मुझे एक त्रुटि मिली और कहा कि मैं कक्षा NSManagedObjectContext के एनएसएआरएआरए नहीं बना सकता। लेकिन यह आपके लिए काम कर सकता है क्योंकि आपके पास एक कामकाजी डेटा मॉडल है और मेरे पास एक डमी डेटा मॉडल था। –

+0

xib में फ़ाइल का स्वामी आपके दस्तावेज़ की कक्षा होना चाहिए, क्योंकि ImHuntingWabbits ने अपने उत्तर में कहा था। आपने इसके लिए किस वर्ग को सेट किया है? और कौन सी एनएसएआरएआर कंट्रोलर संपत्ति आप इसे कनेक्ट करने की कोशिश कर रहे हैं? – Huperniketes

उत्तर

4

एनएसपीर्सिस्टेंट डॉक्यूमेंट का अपना प्रबंधित ऑब्जेक्ट संदर्भ है, और आपको अपने दस्तावेज़ की xib फ़ाइल में उस प्रबंधित ऑब्जेक्ट संदर्भ में NSArrayController को बांधना चाहिए।

उदाहरण के लिए, यदि आपकी दस्तावेज़ कक्षा को MyDocument कहा जाता है, तो एक्सकोड स्वचालित रूप से आपके लिए MyDocument.h/.m/.xib उत्पन्न करेगा। .xib में, फ़ाइल का स्वामी आपके MyDocument क्लास का एक उदाहरण है, और आप बाध्यकारी फ़ाइल के स्वामी -> प्रबंधित ऑब्जेक्ट कॉन्टेक्स्ट के साथ, एनएसएआरएआर कंट्रोलर को बाध्य कर सकते हैं।

+0

यदि मैं sj660 सही ढंग से समझता हूं तो उसने वही किया है जो आप सुझाते हैं ... और वह अभी भी विस्मयादिबोधक बिंदु और त्रुटियों को प्राप्त कर रहा है। मुझे विस्मयादिबोधक बिंदु भी मिलता है, लेकिन मुझे त्रुटियों का एक अलग सेट मिलता है। मैंने एक्सकोड 4 में एक ताजा प्रोजेक्ट बनाया और एक इकाई और एक सरणी नियंत्रक को छोड़कर कुछ भी नहीं किया। मैंने फ़ाइल के मालिक -> प्रबंधित ऑब्जेक्ट कॉन्टेक्स्ट में सरणी नियंत्रक को बांधने की कोशिश की और प्रोग्राम चलाया और मुझे मिलता है: 2011-07-06 1 9: 40: 35.616 फ्लैशकार्ड 2 [9 2229: 903] - [फ्लैशकार्ड डॉक्यूमेंट निरंतर स्टोयरकॉर्डिनेटर]: अपरिचित चयनकर्ता उदाहरण 0x10013a610 पर भेजा गया – Jason

+0

मेरे पास एक्सकोड 4.0.0 बिल्ड 4A303a है, 4.0.2 बिल्ड 4A2002a बाहर है और मैं इसे अभी डाउनलोड कर रहा हूं। शायद यह समस्या को ठीक करेगा। – Jason

+0

ऐसा लगता है कि आपके पास एक अलग समस्या है, लेकिन उस क्रैश से पूर्ण स्टैक ट्रेस के बिना बताना मुश्किल है। – ImHuntingWabbits

0

मैं एक ही समस्या (Hillegass के अध्याय 11 में CarLot उदाहरण, है ना?) में चल रहा

निम्नलिखित ब्लॉग प्रविष्टि एक डेवलपर जो लिखा था और NSManagedObjects साथ प्रयोग के लिए एक विस्तार को बनाए रखता है और यह एक समझता है से है एक्सकोड 4 में बग और रडार में एक रिपोर्ट दायर की है: http://danieltull.co.uk/blog/2011/04/20/xcode-4-and-creating-nsmanagedobject-subclasses/

मेरे पास एक्सकोड 3 के साथ एक मशीन है, मैं अंततः 4 में इस पर मार डालूंगा, एक्सकोड 3 में प्रोजेक्ट तैयार करूंगा और इसे एक्सकोड 4 में आयात करूंगा

जोड़ने के लिए संपादित: एक्सकोड 3 में तत्व जोड़ना और आउटलेट को जोड़ने, और फिर एक्सकोड 4 में प्रोजेक्ट को आयात करना ठीक काम करता है, ऐसा लगता है कि यह एक्सकोड 4 में एक बग है। मुझे एक्सकोड 4 से सत्यापन समस्याएं नहीं मिल रही हैं।

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

  • कोई संबंधित समस्या नहीं^_^