5

इस बार मुझे NSFetchedResultsController के साथ एक अजीब व्यवहार मिलता है। मैं इस तरह एक fetchRequest बनाएँ:NSFetchedResultsController और रिलेशनशिप

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entdesc = [NSEntityDescription entityForName:@"Exam" inManagedObjectContext:self.managedObjectContext]; 
[fetchRequest setEntity:entdesc]; 
NSPredicate *predi = [NSPredicate predicateWithFormat:@"student == %@", self.student]; 
[fetchRequest setPredicate:predi]; 

अगर मैं NSManagedObjectContext की executeFetchRequest:error: साथ निष्पादित, मैं उम्मीद परिणाम मिलता है। छात्र के अनुसार सभी परीक्षाएं। (छात्र और परीक्षा के बीच एक से कई रिश्ते हैं) लेकिन अगर मैं एक NSFetchedResultsController में एक ही fetchRequest का उपयोग करता हूं, तो मुझे कुछ अलग मिलता है। अब तक मैं बाहर नहीं निकला, मुझे वास्तव में क्या मिलता है। मेरी आंखों में परिणाम यादृच्छिक है।

क्या आप मेरी मदद कर सकते हैं? मैं किसी दिए गए छात्र की परीक्षा एनएसएफटेड रीसेट कंट्रोलर के साथ प्रबंधित करना चाहता हूं।

सैंड्रो मायर

+0

'[एनएसपी्रेडिकेट predicateWithFormat: @" student ==% @ ", self.exam]'। यहां, एक छात्र 'self.exam' है? – albertamg

+0

क्षमा करें मेरी गलती। निश्चित रूप से यह एक छात्र होना है। ;-) –

उत्तर

1

आप पहले से ही हाथ में एक Student वस्तु है, तो आप Exam वस्तुओं लाने के लिए तुम सिर्फ अपने exams संबंध की सामग्री के लिए Student वस्तु पूछने की जरूरत नहीं है। लाने की कोई आवश्यकता नहीं है क्योंकि आपके पास पहले से मौजूद सभी Exam ऑब्जेक्ट्स का संदर्भ है।

क्यों fetch fetch परिणाम नियंत्रक के बाहर काम करता है, मैं निश्चित रूप से नहीं कह सकता। नियंत्रक कुछ भी नहीं करता है लेकिन एक fetch के परिणाम लेते हैं और उन्हें तालिकादृश्य में प्रदर्शन के लिए पैकेज। यदि डेटा तालिकादृश्य में ठीक से प्रदर्शित नहीं होता है, तो समस्या तालिकादृश्य प्रतिनिधि/डेटास्रोत विधियों में सबसे अधिक संभावना है जहां आप प्राप्त किए गए परिणाम नियंत्रक की सामग्री को तालिकादृश्य में कनेक्ट करते हैं।

+0

उत्तर के लिए धन्यवाद। मैंने इसके बारे में भी सोचा। लेकिन NSFetchedResultsController मेरे लिए सभी हैंडलिंग करता है। अगर मुझे कोई अन्य समाधान नहीं मिला तो मैं इसे इस तरह से करूँगा। ;-) –

+0

हां एक ही समस्या है। Fetchcontroller को आपकी तालिका के लिए सभी अनुभाग बनाने के लिए बहुत सुविधाजनक है। यहां सबसे अच्छा अभ्यास क्या है? – obiwahn