2012-03-30 7 views
0

ich diesen Fehler: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath objectID not found in entity <NSSQLEntity Pair id=2>'Fehler: „Schlüsselpfad OBJECTID nicht in Einheit gefunden“

als ich „objectId“ sowohl als Suche Descriptor und sectionNameKeyPath für die NSFetchedResultsController verwenden.

Ich möchte jedes Objekt zu einem neuen Abschnitt führen.

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"objectID" ascending:NO]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"objectID" cacheName:nil]; 
aFetchedResultsController.delegate = self; 
self.fetchedResultsController = aFetchedResultsController; 

Irgendwelche Tipps?

Vielen Dank im Voraus.

Antwort

0

Vielleicht, weil objectId und objectID unterschiedliche Zeichenfolgen sind. Prüfe das.

0

Ich habe den gleichen Fehler erlebt. Die Ursache war, dass ich eine temporäre NSManagedObjectContext Instanz erstellte, ohne sie zu behalten. Einfaches Erstellen des Objekts und Zuweisen seiner Referenz zu einer Variablen behebt das Problem in meinem Fall.