Во время работы над проектом я столкнулся со следующей проблемой: в моей модели CoreData у меня была сущность с именем Object, которая отлично работала в симуляторе (с предупреждением), но не на реальном устройстве iOS. Так что мне пришлось изменить название организации. Сначала я попытался просто изменить имя объекта в моей модели и сгенерировать новый подкласс NSManagedObject на основе этого.
Это дало мне всевозможные ошибки, поэтому я решил удалить сущность и создать совершенно новую. Этот объект, который я назвал REObject (Real Estate Object), я снова сгенерировал новый подкласс, основанный на новой сущности, и изменил весь мой код, чтобы использовать REObject вместо объекта. Я также очистил свой проект и удалил приложение с моего тестирующего устройства, но все равно я получаю ошибки, в настоящее время я не могу их исправить.
Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «executeFetchRequest: ошибка: запрос на выборку должен иметь сущность.»
Я использую следующий код для удаления всех объектов в случае получения новых данных, и он выдает ошибку при выполнении выборки:
- (void) deleteAllEntitiesOfType: (NSString *) entityType
{
NSManagedObjectContext *context = [(Achmea_CatalogusAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSFetchRequest * all = [[NSFetchRequest alloc] init];
[all setEntity:[NSEntityDescription entityForName:entityType inManagedObjectContext:context]];
[all setIncludesPropertyValues:NO]; //only fetch the managedObjectID
NSError * error = nil;
NSArray * objects = [context executeFetchRequest:all error:&error];
[all release];
//error handling goes here
for (NSManagedObject * o in objects) {
[context deleteObject:o];
}
[context save:&error];
}
Этот метод работал нормально до того, как я изменил имя объекта, но теперь он продолжает выдавать мне эту ошибку.
Редактировать: Такое чувство, что приложение / проект не видит изменений, которые я внес в модель данных.