NSSortDescriptor でソートしている NSFetchRequest を使用しています。
これは、フェッチされるエンティティのすべての属性に対して完全に機能します。
そのエンティティ内には 1 つだけ問題があります (常にあるわけではありませんか?)。私は別のエンティティと関係があり、これも整理したいと思います。しかし、それは私に次のエラーを与えています:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
ここに私のコアデータの設定があります:
これが私のコードです:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entityMonth = [NSEntityDescription entityForName:@"Month" inManagedObjectContext:_managedObjectContext];
[fetchRequest setEntity:entityMonth];
NSSortDescriptor *sortDescriptorItem = [NSSortDescriptor sortDescriptorWithKey:@"item.nr" ascending:YES]; //THIS ONE CAUSES THE ERROR!
NSSortDescriptor *sortDescriptorMonth = [[NSSortDescriptor alloc]initWithKey:@"month" ascending:YES];
NSSortDescriptor *sortDescriptorYear = [[NSSortDescriptor alloc]initWithKey:@"year" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptorYear, sortDescriptorMonth, sortDescriptorItem, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSError *error = nil;
self.stages = [_managedObjectContext executeFetchRequest:fetchRequest error:&error];