2016-11-29 11 views
5

में डुप्लिकेट प्रतीक त्रुटि मैंने बस कोर डेटा के साथ एक डेमो प्रोजेक्ट बनाया है।NSManagedObject Subclass

मैंने अपने डेटा मॉडल में Userinfo इकाई बनाई। अब मैंने इस इकाई के NSManagedObject उप-वर्ग बनाया है।

एक्सकोड ने इन 4 वर्गों को स्वत: उत्पन्न किया।

enter image description here

अब जब मैं इस परियोजना का निर्माण यह इस त्रुटि फेंकता है:

enter image description here

मैं सब कुछ किया है मैं duplicacy लेकिन कुछ भी की त्रुटि दूर करने के लिए मदद की पता है।

मुझे लगता है कि यह एक एक्सकोड बग है। कृपया मदद करे।

+0

यहां मेरे लिए छोटा और आसान समाधान है। [यह है] (https://stackoverflow.com/a/14449080/8551309) –

+0

[यहां है] (https://stackoverflow.com/a/14449080/8551309) मेरे लिए एक छोटा और आसान समाधान। –

उत्तर

9

आप उन फ़ाइलों को उत्पन्न कर रहे हैं जो आपके लिए पहले से ही एक्सकोड द्वारा जेनरेट किए गए हैं और इस प्रकार डुप्लिकेट घोषणाएं प्राप्त होती हैं। इस सुविधा के बारे में विवरण (एक्सकोड 8 में नया) this WWDC video में पाया जा सकता है।

दो संभावित समाधान:

1) Xcode ManagedObject उपवर्गों (अनुशंसित, आधुनिक दृष्टिकोण)

  • उत्पन्न अपनी परियोजना से सभी उत्पन्न NSManagedObject उपवर्गों हटाएँ, अगर मौजूद है का उपयोग करें।
  • सभी संस्थाओं के लिए अपने .xcdatamodel में Class Definition करने के लिए Codegen सेट
  • यकीन Module रिक्त है (हल्के भूरे रंग में "ग्लोबल नाम स्थान") (एक एप्पल बग वैकल्पिक हल, this answer देख)

    बनाओ
  • स्वच्छ परियोजना
  • Clean DerivedData folder (वैकल्पिक। सहेजने के पक्ष में रहने के लिए)
  • निर्माण

नोट:

कभी अपनी परियोजना के लिए स्वचालित रूप से उत्पन्न फ़ाइलें जोड़ें। यहां तक ​​कि आप अपनी प्रोजेक्ट में जेनरेट की गई फाइलें नहीं देखते हैं, एक्सकोड का इसका संदर्भ है, इसलिए आप एक्सटेंशन और ऐसे लिखने में सक्षम हैं। उदाहरण के लिए:

extension MyEntity { 
    func doSomething() { 
     // 
    } 
} 

इसके अलावा, आप + कोकोड के भीतर जेनरेट की गई फ़ाइल पर क्लिक कर सकते हैं।

2) उत्प्रेरक उपवर्ग पीढ़ी मैन्युअल रूप से (एक नहीं बल्कि पागल लेकिन बुलेट साबित दृष्टिकोण, नई Xcode सुविधाओं अनदेखी)

  • , अपनी परियोजना से सभी उत्पन्न NSManagedObject उपवर्गों हटाएँ अगर मौजूद है।
  • सभी संस्थाओं
  • स्वच्छ परियोजना के लिए अपने .xcdatamodel में Manual/None को Codegen सेट
  • Clean DerivedData folder
  • पुनः प्रारंभ Xcode
  • मैन्युअल NSManagedObject उपवर्गों उत्पन्न
  • करें ("संपादक" मेनू में) यकीन है कि उन फ़ाइलों को जोड़ रहे हैं आपकी परियोजना
  • बिल्ड
+0

उन फाइलें कहां उत्पन्न हुई हैं? क्योंकि मुझे अपने उद्देश्य के लिए उन वर्गों की आवश्यकता है। व्युत्पन्न डेटा में – iPeter

+1

। उन्हें अपनी परियोजना में शामिल न करें। यदि आप उत्तर का पालन करते हैं, तो यह काम करता है, एक्सकोड का इसका संदर्भ स्वचालित रूप से होता है। आप एक्सटेंशन भी लिख सकते हैं। यदि आपके पास समस्याएं हैं, तो आपके पास मौजूद समस्या का वर्णन करें। मैं मदद करने की कोशिश करूंगा। – shallowThought

+0

आपको बहुत बहुत धन्यवाद। :) – iPeter

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