Iphone Core Data - фильтрация NSFetchedResultController?
115
13
Мне предоставили структуру, написанную другими программистами для доступа к основным данным.
В этой ситуации я получаю предварительно загруженный NSFetchedResultController, который мне нужно отфильтровать, чтобы отобразить часть его данных.
Вот что я пробовал:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category==%@", @"current"];
[NSFetchedResultsController deleteCacheWithName:@"Root"];
[myResultController.fetchRequest setPredicate:predicate];
myResultController.fetchedObjects = [myResultController.fetchedObjects filteredArrayUsingPredicate:predicate];
И я получаю сообщение о том, что объект не может быть установлен, либо метод setter отсутствует, либо объект доступен только для чтения.
Итак, каков наилучший способ фильтрации NSFetchResultController, который уже загружен, без необходимости хранить отфильтрованные данные в другом массиве?
спросил(а)
2010-10-22T02:10:00+04:00
10 лет, 5 месяцев назад
добавить комментарий
пожаловаться
Решение
107
fetchedObjects
- только для чтения. Вы не можете настроить его вручную.
Что вам нужно сделать, так это выполнить новую выборку с помощью myResultController
.
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category==%@", @"current"];
[NSFetchedResultsController deleteCacheWithName:@"Root"];
[myResultController.fetchRequest setPredicate:predicate];
//myResultController.fetchedObjects = [myResultController.fetchedObjects filteredArrayUsingPredicate:predicate];
[myResultController performFetch:nil];
ответил(а)
2010-10-22T02:31:00+04:00
10 лет, 5 месяцев назад
добавить комментарий
пожаловаться
Ваш ответ
- Вопросы
- Nspredicate
- Iphone Core Data - фильтрация NSFetchedResultController?