Я пытаюсь отфильтровать некоторые управляемые объекты. Результат - это zip.Почему этот запрос выборки ничего не возвращает
Фильтр «имя». Имя - это элемент, предоставленный корневым представлением для этого подробного представления. Имени записывает нормально:
[48582:2754928] name: To Be
[48582:2754928] predicate: name == @"name"
name = [self.detailItem valueForKey:@"name"];
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
и FetchResultsController выглядит следующим образом:
NSError *error = nil;
name = [self.detailItem valueForKey:@"name"];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"VerbEntity" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
predicate = [NSPredicate predicateWithFormat:@"name == %@",@"name"];
NSLog(@"name: %@", name);
fetchRequest.predicate = predicate;
NSLog(@"predicate: %@", predicate);
// Create the sort descriptors array.
NSArray *sortDescriptorArray = nil;
// Declare sort descriptors
NSSortDescriptor *sortDescriptorPrimary = nil;
sortDescriptorPrimary = [[NSSortDescriptor alloc] initWithKey:@"position" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
// Set sort descriptor array
sortDescriptorArray = @[sortDescriptorPrimary];
// Apply sort descriptors to fetch request
[fetchRequest setSortDescriptors:sortDescriptorArray];
NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
NSLog(@"fetchedObjects count: %lu", (unsigned long)fetchedObjects.count);
_fetchedResultsController.delegate = self;
return _fetchedResultsController;
}
стоит ли что-нибудь, как ненадежного? Спасибо за любую помощь.
Без предиката ваш выбор возвращает что-то? Если имя является «NSString», то как использовать имя '@» LIKE% @ "'? Разве вы не хотели менять имя @ @ «=============================================================================================================================================================================================== на ваш выбор? – Larme
Что произойдет, если вы инициализируете запрос выборки по-разному? Возможно, попробуйте [NSFetchRequest fetchRequestWithEntityName: @ "VerbEntity"]; Кроме того, что такое _fetchedResultsController? NSFetchedResultsController? Если это так, вам нужно установить на него объект NSFetchRequest. –
Спасибо всем. Сочетание ваших ответов решило проблему. –