J'ai une application qui s'exécutait correctement sous OS3 +. Mais cela ne fonctionne pas sous OS4. Je reçois le message d'erreur suivant:'NSFetchedResultsController ne prend pas en charge le suivi des modifications et les requêtes d'extraction avec NSDictionaryResultType'
« NSFetchedResultsController ne supporte pas les deux suivi des modifications et de FETCH avec NSDictionaryResultType »
-t-il sonner une cloche à tout le monde ici?
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
/*
Set up the fetched results controller.
*/
// Create the fetch request for the entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"myEntity" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:myEntity];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch :[NSArray arrayWithObjects:@"FIELD1",@"FIELD2",@"FIELD3",@"FIELD4",@"FIELD5",nil]];
// Setting unique values
[fetchRequest setReturnsDistinctResults:YES];
// Edit the sort key as appropriate.
NSSortDescriptor *initialDescriptor = [[NSSortDescriptor alloc] initWithKey:@"FIELD1" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:initialDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// Edit the section name key path and cache name if appropriate.
// nil for section name key path means "no sections".
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"FIELD1" cacheName:@"myCache"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
[aFetchedResultsController release];
[fetchRequest release];
[initialDescriptor release];
[sortDescriptors release];
return fetchedResultsController;
}
Merci d'avance.
Si je définis [fetchRequest setResultType: NSManagedObjectResultType] plutôt que [fetchRequest setResultType: NSDictionaryResultType], mon application se charge normalement. ' MAIS [fetchRequest setReturnsDistinctResults: YES] ne fonctionne plus et je me retrouve avec des doublons !!!! Aide requise s'il vous plaît. :-) –