डिफ़ॉल्ट रूप से डेटा मॉडल से NSManagedObject सबक्लास फ़ाइल बनाते समय, कोर डेटा स्ट्रिंग प्रकार कॉलम के लिए NSString (nonatomic, retain) प्रकार के गुण बनाता है। मुझे प्रदर्शन विचार के कारण किया जा सकता है, हालांकि, मैं डेटा मैपर पैटर्न को कार्यान्वित कर रहा हूं जहां मूल डेटा एनएसएमएनेज ऑब्जेक्ट उप-वर्ग मॉडल कक्षाओं से अलग होते हैं। तो जब मॉडल कक्षाओं को कोर डेटा NSManagedObject उपclass में कनवर्ट करते हैं, तो केवल एक पॉइंटर असाइन करें, न कि प्रतिलिपि। आर्किटेक्चर बिंदु से, यह कोर डेटा एक्सेस और मॉडल कक्षाओं के बीच तर्क तर्क को तोड़ देता है, इसलिए मुझे बनाए रखने के बजाय कॉपी का उपयोग करने की आवश्यकता है।NSManagedObject NSString गुणों को "बनाए रखने" के बजाय "प्रतिलिपि" के साथ कैसे बनाया जाए?
क्या यह करने का एकमात्र तरीका मैन्युअल रूप से NSManagedObject subclasses में गुणों को बदलने के लिए है?
बस अगर आपको इस बारे में पता नहीं है - सामान्य (गैर-परिवर्तनीय) 'एनएसएसटींग' की 'प्रतिलिपि' विधि एक ही उदाहरण देता है, इसलिए अपनी प्रतिलिपि संपत्ति को मुक्त न करें, वास्तव में कुछ भी कॉपी नहीं करता है जब आप इसका परीक्षण करते हैं। – Monolo
हां, मुझे इसके बारे में पता है, पहले ही परीक्षण किया गया है। "कॉपी" कॉपी केवल म्यूटेबल प्रकार ऑब्जेक्ट्स। इसके अलावा, ध्यान दें, "प्रतिलिपि" संपत्ति भी प्रतिलिपि संदेशों को एनएसएआरएआरई तत्वों में भेजती है, इसलिए सरणी के अंदर मौजूद होने पर उत्परिवर्तनीय तारों की प्रतिलिपि बनाई जाएगी। – Centurion
कृपया, उत्तर के नीचे मेरी टिप्पणी देखें। आज, व्यावहारिक उपयोग "प्रतिलिपि" गुणों को समझने की कोशिश की। मैं समझता हूं कि वे कैसे काम करते हैं, बस एनएसएमयूटेबलस्ट्रिंग का उपयोग करने की आवश्यकता नहीं थी, इसलिए मेरे अनुभव में प्रतिलिपि अनावश्यक है और केवल भविष्य की सुरक्षा के लिए। – Centurion