Когда у меня есть две сущности Родитель и ребенок (отношения между - «дети», обратный - «родитель») это просто заводят детей из бетона родителей, см ниже код:CoreData один-ко-многим, используя только один Entity
Parent *parent = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Child" inManagedObjectContext:context]];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
[request setSortDescriptors:@[sort]];
[request setPredicate:[NSPredicate predicateWithFormat:@"(parent == %@)", parent]];
NSError *error = nil;
NSArray *results = [context executeFetchRequest:request error:&error];
NSLog(@"results :%@", results);
Да, конечно, я могу получить детей без NSFetchRequest, но в моем случае я должен сделать это таким образом; Хорошо, и моя беда в том, что у меня есть только ОДИН сущность, например «Родитель» (отношения - «родители», обратные - «родители»); и One Parent имеет 3 других родителей; Как получить всех родителей конкретного родителя; Я пытаюсь сделать это:
Parent *parent = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Parent" inManagedObjectContext:context]];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
[request setSortDescriptors:@[sort]];
[request setPredicate:[NSPredicate predicateWithFormat:@"(parents == %@)", parent]];
NSError *error = nil;
NSArray *results = [context executeFetchRequest:request error:&error];
NSLog(@"results :%@", results);
Но моя программа программа падает: Нагрузочный приложение из-за неперехваченного исключением «NSInvalidArgumentException», причина: «ко-многим ключевым здесь не допускается»
Показать изображение вашей модели (по крайней мере, сущность). У вас должно быть 2 отношения, которые являются обратными, какие имена? – Wain
Довольно запутанный, скриншот модели данных поможет. – Desdenova