Как бы вы могли установить ограничение для каждого раздела в режиме просмотра таблицы, контролируемого NSFetchedResultsController? Например: у меня есть множество шоу, в которых каждый из них имеет даты начала и игры на разных этапах. Я хочу показать только, кто следующий на каждом этапе. Поэтому мне не нужно ограничивать весь запрос, но предел для каждого раздела.NSFetchedResultsController setLimit для каждого раздела
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
NSMutableArray *predicates = [NSMutableArray array];
[predicates addObject:[NSPredicate predicateWithFormat:@"startDate > %@", [NSDate date]]];
request.predicate = [NSCompoundPredicate andPredicateWithSubpredicates:predicates];
NSSortDescriptor *stageSort = [[NSSortDescriptor alloc] initWithKey:@"stage.id" ascending:YES];
NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"startDate" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:stageSort, dateSort, nil];
[request setSortDescriptors:sortDescriptors];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:@"stage.id"
cacheName:nil];
Этот вид работ, если я ограничить его в методах TableView делегата, но часто выходит из строя, когда выборки изменений и пробует обновить таблицу. Я думаю, это потому, что в NSFetchedResultsController гораздо больше объектов, чем показано, и анимация изменения этих разрывов.
Как я могу установить более эффективный лимит на каждый раздел? Мне нужен только первый результат для каждого раздела.
2012-06-01 10: 25: 40.120 Событие Cast [4298: 707] *** Ошибка утверждения в - [UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-1914.85/UITableView.m:878 2012- 06-01 10: 25: 40.125 Событие Cast [4298: 707] CoreData: ошибка: серьезная ошибка приложения. Исключение было обнаружено у делегата NSFetchedResultsController во время вызова -controllerDidChangeContent :. попытайтесь вставить строку 1 в раздел 0, но есть только 1 строка в разделе 0 после обновления с userInfo (null) –