如果我数据模型定义了一个Teacher, 还有一个Student.Teacher和Student是一对多的关系.关系类似于这样:student.whoTeach = teacher;我想问在使用UITableView的时候,我想通过predicate,把所有是同一个Teacher的Student返回到NSFetchedResultsController里面,然后再在TableView里面显示出来,predicate该怎么写呢??下面是我写的一段代码:
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Student"];
        
        request.predicate = [NSPredicate predicateWithFormat:]; // 这里不知道怎么写!!!!!!
        
        _fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                        managedObjectContext:self.managedObjectContext
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];
        _fetchedResultsController.delegate = self;
如果这种方法行不通的话,还有其他方法吗?

解决方案 »

  1.   

    google :  NSPredicate example 
      

  2.   

     Teacher * aTeacher; // 对应的 老师 ,假如 老师 有个  整型 id 为 teacherID
        request.predicate = [NSPredicate predicateWithBlock:^BOOL(Student * evaluatedObject, NSDictionary *bindings) {
            if (evaluatedObject.whoTeach.teacherID == aTeacher.teacherID) {
                return YES;
            }
            return NO;
        }];