У меня есть ранее существовавший NSManagedObjectModel
, который я создал с помощью графического интерфейса Xcode.Я хочу создать отсортированное извлеченное свойство, которое графический интерфейс Xcode 3.2 не поддерживает.Я делаю все это до создания моего NSPersistentStoreCoordinator
, потому что я знаю, что вы не можете изменить NSManagedObjectModel
после того, как менеджер графов объектов начал его использовать.Я создал NSFetchedPropertyDescription
таким образом:
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]];
Когда я звоню
[fetchedPropertyDescription setFetchRequest:fetchRequest];
, я получаю следующее исключение:
NSInvalidArgumentException: Can't use fetch request with fetched property description (entity model mismatch).