में नहीं मिला है, मैं NSFetchedResultsController
का उपयोग कर रहा हूं ताकि मेरे आवेदन में Documents
की सूची लोड हो सके। मैं वर्तमान में सक्रिय एक को छोड़कर सभी Documents
लोड करना चाहता हूं।कोर डेटा: कीपैथ "ऑब्जेक्ट आईडी" इकाई
मैं _Document
कक्षा बनाने के लिए Rentzsch के MOGenerator का उपयोग कर रहा हूं और फिर मैंने अपना सभी कस्टम कोड Document
सबक्लास में रखा है। _Document
objectID
संपत्ति DocumentID
के साथ संपत्ति उत्पन्न करता है।
controller.currentDocID = self.document.objectID;
नियंत्रक ही में, मैं आलसी लोड इस तरह fetchedResultsController:
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(objectID != %@)", self.currentDocID];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dateModified" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
[aFetchedResultsController release];
[sortDescriptor release];
[sortDescriptors release];
return fetchedResultsController;
}
जब fetchedResultsController भार
वर्ग कि नियंत्रक बनाता में, मैं नियंत्रक के currentDocID
गुण सेट , मेरा ऐप एक अनचाहे अपवाद के साथ दुर्घटनाग्रस्त हो जाता है:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath objectID not found in entity <NSSQLEntity Document id=1>'
यह मेरी समझ है कि सभी एनएसएमएनेज ऑब्जेक्ट्स में ऑब्जेक्ट आईडी है, भले ही अस्थायी या स्थायी हो। क्या यह मामला नही है? कोई विचार?
क्या आप जानते हैं कि क्यों ... ... @ "स्वयं! =% @", [Self currentDoc]] '' ... @ "(objectID! =% @)", Self.currentDocID जैसा नहीं है] '। इस पोस्ट के अनुसार http://stackoverflow.com/a/2306550/647644 यह बराबर होना चाहिए। – Lindemann
@ लिंडमैन सर्वश्रेष्ठ यदि आप इसके बजाय एक नया प्रश्न बनाते हैं। –