У меня есть, что надеюсь, простой вопрос - у меня есть две сущности - List и ListItem - и между ними установлена связь один ко многим, и все хорошо.
Моя проблема возникает, когда я пытаюсь выполнить запрос на выборку, который вернет элементы списка, разделенные по атрибуту элемента списка. Я не могу выполнить запрос на выборку непосредственно для объектов listItem, потому что нет никакого способа сказать «где список =« xxxxx »», поэтому у меня было что-то вроде следующего:
- (NSFetchedResultsController *)getListItems {
// Init a fetch request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"List" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"listItem.productName" ascending:YES selector:nil];
NSArray *descriptors = [NSArray arrayWithObject:sortDescriptor];
[fetchRequest setSortDescriptors:descriptors];
// Init the fetched results controller
NSError *error;
self.globalFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"listItem.productName" cacheName:@"listItems"];
self.globalFetchedResultsController.delegate = self;
if (![[self globalFetchedResultsController] performFetch:&error]) NSLog(@"Error: %@", [error localizedDescription]);
[fetchRequest release];
[sortDescriptor release];
return self.globalFetchedResultsController;
}
Теперь, эти ошибки, потому что они говорят, что я не могу использовать отношение «один ко многим» в дескрипторе сортировки - но это также требует, чтобы у меня был дескриптор сортировки, поэтому я не уверен, что правильный способ сделать это этот. Любая помощь будет великолепна.