в моем приложении Я сортирую сущность, используя только один NSSortDescriptor, но теперь мне нужно отфильтровать данные для 4 разных атрибутов. Это код текущей сортировки, результатом являются все записи из объекта, отсортированного по атрибуту 'displayOrder', но мне нужно отфильтровать записи четырьмя другими атрибутами (год, месяц, день, группа), все из них integer32 за исключением группы, которая является строка:NSFetchedResultsController со многими NSSortDescriptor
- (NSFetchedResultsController *)fetchedResultsController
{
if (fetchedResultsController) return fetchedResultsController;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity =
[NSEntityDescription entityForName:@"FavoriteThing"
inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor =
[[NSSortDescriptor alloc] initWithKey:@"displayOrder"
ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc]
initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:managedObjectContext
sectionNameKeyPath:nil cacheName:@"ThingsCache"];
aFetchedResultsController.delegate = self;
[self setFetchedResultsController:aFetchedResultsController];
[aFetchedResultsController release];
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];
return fetchedResultsController;
}
Я попытался добавить предикат:
NSNumber *yearSearched = 1965;
NSPredicate *yearPredicate = [NSPredicate predicateWithFormat:@"todoYear = %@", yearSearched];
[fetchRequest setPredicate:yearPredicate];
Но после запуска приложения есть EXC_BAD_ACCESS ошибка на линии NSPredicate *yearPredicate = [NSPredicate predicateWithFormat:@"todoYear = %@", yearSearched];
Где атрибут «todoYear» относится к типу Integer32
Что вы имеете в виду фильтр и что вы пробовали? – Wain
Благодарим вас за ответ @Wain, я имею в виду фильтрацию записей, соответствующих некоторым условиям (год = x, месяц = y, день = z, group = @ "Azul") ... – mvasco
Итак, вы должны добавить предикат, а не другой дескриптор сортировки. – Wain