У меня есть уже существующий NSManagedObjectModel
, который я создал с помощью графического интерфейса Xcode. Я хочу создать отсортированное свойство, которое не поддерживает графический интерфейс Xcode 3.2. Я делаю все это до создания моего NSPersistentStoreCoordinator
, потому что я знаю, что вы не можете изменить NSManagedObjectModel
после того, как менеджер графа объектов начал его использовать. Я создал NSFetchedPropertyDescription
таким образом:Как я могу создать 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).
Да, но я не создал NSPersistentStoreCoordinator с NSManagedObjectModel еще. Я уточню свой вопрос. –