2012-08-27 6 views
7

जब XCode में कोर डेटा मॉडल के डिजाइन, आप स्वचालित रूप NSManagedObject उपवर्ग परिभाषाओं (मीटर और ज फ़ाइलें) द्वाराकोर डेटा मॉडल को संशोधित करने के बाद कक्षा परिभाषा को फिर से बनाने का बेहतर तरीका?

  1. संपादक से संस्थाओं
  2. का चयन "बनाएं NSManagedObject उपवर्गों" का अर्थ है उत्पन्न कर सकते हैं मेनू

इसके बाद, आप इन कक्षाओं में बहुत से कोड जोड़ सकते हैं, तो क्या होगा यदि आपको डेटा मॉडल को कुछ कारणों से बहुत कुछ संशोधित करना है? डेटा मॉडल पर इन परिवर्तनों को प्रतिबिंबित करने के लिए, क्या ऐसा करने का कोई स्वचालित तरीका है? या आपको मैन्युअल रूप से सब कुछ करना है।

वर्तमान में यदि मैं फिर से (स्वचालित रूप से) EDIT मेनू से इन कक्षा परिभाषा को फिर से बनाने का प्रयास करता हूं, तो यह सभी मौजूदा फ़ाइलों को प्रतिस्थापित करेगा। सभी जोड़ा कोड गायब हो जाएगा।

मुझे उम्मीद है कि एक्सकोड का भविष्य संस्करण एक स्मार्ट फीचर जोड़ सकता है: जोड़े गए काम को खोए बिना डिफ़ॉल्ट श्रेणी परिभाषा को स्वचालित रूप से अपडेट करना। शायद मैं बहुत आलसी हूँ। :)

उत्तर

6

आप एक आम समस्या में भाग रहे हैं। समय के लिए एक्सकोड के साथ प्रबंधित ऑब्जेक्ट सबक्लास बनाने के उस तरीके से आप बहुत ज्यादा अटक गए हैं। कि जानने के बाद, आप कर सकते हैं:

  • यह

    आसपास डिजाइन साधारण मामलों के लिए, आप (हालांकि नहीं राज्य) अपने NSManagedObject उपवर्गों में कार्यक्षमता जोड़ने के श्रेणियाँ उपयोग कर सकते हैं। श्रेणी की फ़ाइल में कोड स्पष्ट रूप से आपके डेटा मॉडल में हर बार ओवरराइट होने से सुरक्षित है।

  • का प्रयोग न करें Xcode

    Mogenerator वास्तव में इस समस्या का समाधान करने के लिए डिज़ाइन एक गंधा उपकरण है। यह दो कक्षाओं के बजाय प्रत्येक इकाई के लिए कक्षा बनाता है, जिससे आप दूसरे को प्रबंधित करते समय एक्सकोड को प्रबंधित करने की अनुमति देते हैं।

0

आप अलग अलग नाम के साथ एक वर्ग बना सकते हैं और पुराने वर्ग

1

में उत्पन्न क्षेत्रों पेस्ट कर सकते हैं ऐसा लगता है एप्पल XCode 7 के साथ मुद्दे को संबोधित किया गया है: अब यह स्वचालित रूप से इकाई और के एक वर्ग बनाता है इसके मूल डेटा गुणों के साथ इकाई। जब आप पुन: उत्पन्न करते हैं, तो यह केवल श्रेणी को अद्यतन करता है, जो आपके कस्टम कोड को इकाई वर्ग में बिना छेड़छाड़ करता है। यह link

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