2012-02-27 17 views
8

मैं CoreDataGeneratedAccessors के पीछे मूल बातें जानने के लिए सेब देव वेबसाइट, Google और स्टैक ओवरफ़्लो से गुजर चुका हूं।कोर डेटा - CoreDataGeneratedAccessors कैसे उत्पन्न करें?

मैं एक्सकोड 4.2 और कोर डेटा का उपयोग कर रहा हूं। मैंने इकाइयों और उनके रिश्ते को विपरीत तरीके से बनाया है।

के बाद कोड विफल हो रहा है:

self.remdetail = [NSEntityDescription insertNewObjectForEntityForName:@"RemDetail" inManagedObjectContext:context]; 
    [rem addRemDetailObject:remdetail]; --> I'm trying to add rem detail to rem object 

क्योंकि ऐसा कोई एक्सेसर स्वतः उत्पन्न तरीके हैं, मैं NSManagedObject उपवर्ग में से एक में मैन्युअल रूप से निम्नलिखित कोड डाल दिया। निम्न कोड उत्पन्न नहीं हुआ जब मैंने अपनी संस्थाओं के लिए NSManagedObjects बनाया। मैंने एक्सकोड कॉपी & पेस्ट इत्यादि जैसे कुछ लेखों और सुझावों के माध्यम से स्वचालित रूप से एक्सेसर्स उत्पन्न करने का प्रयास किया लेकिन कुछ भी कोड उत्पन्न नहीं कर रहा है।

रेम ManagedObject में

->

@interface Rem (CoreDataGeneratedAccessors) 
- (void)addRemDetailObject:(RemDetail *)value; 
- (void)removeRemDetailObject:(RemDetail *)value; 
- (void)addRemDetail:(RemDetail *)value; 
- (void)removeRemDetail:(RemDetail *)value; 
@end 

किसी को पता है कि कैसे CoreDataGeneratedAccessors उत्पन्न करने के लिए? - मैं काफी कुछ परियोजनाओं में इसका इस्तेमाल करते हैं और यह बहुत अच्छा काम करता है

इस छोटे उपकरण आप के लिए एक्सेसर वर्गों उत्पन्न करेगा:

धन्यवाद, राम

उत्तर

17

क्या आपने रिलेशनशिप गुणों में "टू-रिलेशन रिलेशनशिप" स्विच की जांच की है?

+2

धन्यवाद के बीच एक नए रिश्ते गयी। रिलेशनशिप गुणों में "टू-रिलेशन रिलेशनशिप" स्विच की जांच करने से चाल चल रही है। – Krishna

3

@ जुलिएन के जवाब समाधान का हिस्सा था, लेकिन यहाँ मैं इसे कैसे हल किया है:

  1. सुनिश्चित करें कि आप एक से-अनेक संबंध हों।
  2. यदि आप पहले से ही अपनी इकाई के लिए कक्षा बना चुके हैं, तो इसे हटाएं, फिर अपने xcdatamodel के साथ खोलें, संपादक पर जाएं -> NSManagedObject सबक्लास बनाएं, और विज़ार्ड का पालन करें।

जेनरेट की गई कक्षा में CoreDataGeneratedAccessors होगा जो आप ढूंढ रहे हैं।

+1

पॉइंट 1 के बारे में निश्चित नहीं है लेकिन मैक ओएस एक्स 10.11.1 पर एक्सकोड 7.1 के लिए मेरे मामले में पॉइंट 2 पर्याप्त था – zeeawan