0

我正在尝试过滤显示员工的表格列表的结果。一个过滤器应显示属于某个公司的每个员工(基于公司名称)。

在 Core Data 中,实体 Company 与实体 Employee 具有一对多关系。

_fetchRequest = [[NSFetchRequest alloc] init];
[_fetchRequest setEntity:[NSEntityDescription entityForName:@"Employee" inManagedObjectContext:_moc]];

NSPredicate *employeeNamePredicate = [NSPredicate predicateWithFormat:@"name != %@",@"Bob"];
NSPredicate *employeeCompanyNamePredicate = [NSPredicate predicateWithFormat:@"company.name == %@",companyName];

NSArray *filters = @[employeeNamePredicate, employeeCompanyNamePredicate];

NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:filters];

[_fetchRequest setPredicate:compoundPredicate];

NSError *error = nil;
_filteredResult = [_moc executeFetchRequest:_fetchRequest error:&error];

但实际上什么也没发生。@"company.name" 似乎没有按预期工作。我究竟做错了什么?

4

0 回答 0