NSFetchRequest, фильтр по идентификатору объекта - PullRequest
0 голосов
/ 22 марта 2012

Я использую следующий код для извлечения данных из моего графика основных данных:

- (void)setupFetchedResultsController
{
    // 1 - Decide what Entity you want
    NSString *entityName = @"Snag"; // Put your entity name here
    NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);

    // 2 - Request that Entity
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];

    // 3 - Filter it if you want
    request.predicate = [NSPredicate predicateWithFormat:@"project.id = %@", projectPassedToController.id];

    // 4 - Sort it if you want
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"dateTaken"
                                                                                     ascending:YES
                                                                                      selector:@selector(localizedCaseInsensitiveCompare:)]];
    // 5 - Fetch it
    self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                        managedObjectContext:self.managedObjectContext
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];

Однако я хочу вернуть только проекты, которые имеют тот же уникальный идентификатор, что и передаваемый.к этому контроллеру представления (используя переменную ProjectPassedToController)

Я не хочу фильтровать по имени файла project.name, так как это поле редактируется пользователем.Мне нужно отфильтровать по уникальному идентификатору проекта, но я не уверен, как это сделать.

1 Ответ

0 голосов
/ 22 марта 2012

Решил это, отфильтровав отношения между проектом и человеком.

 request.predicate = [NSPredicate predicateWithFormat:@"belongsToProject = %@", _selectedProject];
...