在过去的几天里,我一直在试图弄清楚如何实现这一目标,但我的知识很少。
我设计了三个实体 List <<-->> Item <<-->> Store 在核心数据模型设计器中。他们每个人都只有一个属性,称为“名称”。
目标是选择一个列表,然后显示按商店分组的列表中的所有项目。
我试过使用:
// Set entity.
entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
// Set object filters.
predicate = [NSPredicate predicateWithFormat:@"ANY list.name == %@", self.list.name];
[fetchRequest setPredicate:predicate];
// Set FRC
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"store.name" cacheName:nil];
错误:
'Invalid to many relationship in setPropertiesToFetch: (store.name)'
这种方式也可以手动填充行(我还不知道如何):
// Set entity.
entity = [NSEntityDescription entityForName:@"Store" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
// Set object filters.
predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(item.list, $x, $x.name == %@).@count > 0", self.list.name];
[fetchRequest setPredicate:predicate];
// Set FRC
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"name" cacheName:nil];
错误:
'Only allowed one toMany/manyToMany relationship in subquery expression collection (SUBQUERY(item.list, $x, $x.name == "List02"))'
并且还尝试了 Fetched Properties 和其他无法到达的方式。
有任何想法吗?
问候。佩德罗。