J'ai un NSManagedObjectModel
préexistant que j'ai créé avec l'interface graphique Xcode. Je veux créer une propriété récupérée triée, que l'interface graphique de Xcode 3.2 ne prend pas en charge. Je fais tout cela avant de créer mon NSPersistentStoreCoordinator
car je sais que vous ne pouvez pas modifier un NSManagedObjectModel
après qu'un gestionnaire de graphes d'objets a commencé à l'utiliser. J'ai créé le NSFetchedPropertyDescription
ainsi:Comment créer une NSFetchedPropertyDescription par programme?
NSManagedObjectModel *managedObjectModel = ... // fetch from my mainBundle
NSEntityDescription *fetchedPropertyEntityDescription = [entitiesByName objectForKey:@"MyEntity"];
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[fetchRequest setEntity:fetchedPropertyEntityDescription];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"myPredicateProperty == $FETCH_SOURCE"]];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"mySortProperty" ascending:YES]]];
NSFetchedPropertyDescription *fetchedPropertyDescription = [[[NSFetchedPropertyDescription alloc] init] autorelease];
[fetchedPropertyDescription setFetchRequest:fetchRequest];
[fetchedPropertyDescription setName:@"myFetchedProperty"];
NSEntityDescription *entityDescription = [entitiesByName objectForKey:@"MyFetchSourceEntity"];
[entityDescription setProperties:[[entityDescription properties] arrayByAddingObject:fetchedPropertyDescription]];
Quand j'appelle
[fetchedPropertyDescription setFetchRequest:fetchRequest];
Je reçois l'exception suivante:
NSInvalidArgumentException: Can't use fetch request with fetched property description (entity model mismatch).
Oui, mais je n'ai pas encore créé NSPersistentStoreCoordinator avec le NSManagedObjectModel. Je vais mettre à jour ma question. –