我的CoreData模型中有3个实体
具有与Sections实体的分段关系以及与Chapters实体的章节关系的格式。
所以A Formation包含1或n个包含1或n章的部分
在我的“实体”部分中,有一个sortNB
属性(一种id
),因此我想在我的请求中对我的部分进行排序。
我试着这样做:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Formations" inManagedObjectContext:_managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"sections.sortNB" ascending:YES];
[request setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObjects:@"sections", nil]];
[request setSortDescriptors:[NSArray arrayWithObject:sort]];
NSArray *forms = [[_managedObjectContext executeFetchRequest:request error:nil]mutableCopy];
但得到了一个错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
我该怎么办?
我想在我的Chapters实体中插入相同类型的数字来对其进行排序,但首先,让我们为Sections解析它:p
由于
答案 0 :(得分:4)
好的,所以我不是在我的请求中对我的对象进行排序,而是在使用
之后NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"sortNB" ascending:YES]];
NSArray *sortedRecipes = [[[formation sections] allObjects] sortedArrayUsingDescriptors:sortDescriptors];
它有效。
感谢您的帮助。