NSPredicate核心数据,获取一些对象

问题描述:

我有一个实体,ProductCart &购物车,具有一对多的关系。 ProductCart有一个称为ordered的属性,用于确定产品是否已经订购。现在我想获取ProductCart中尚未订购的所有对象。试过这样的东西,但它不起作用:NSPredicate核心数据,获取一些对象

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"ProductCart"]; 
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"inCart == %@ && !ordered == %@", cart, [self valueForKey:@"ordered"]]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"products.name" ascending:YES]; 
NSArray *sortDescriptors = @[sortDescriptor]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 

inCart提取关系,命令给我的问题。我怎样才能解决这个问题?

+0

是'ordered'布尔属性吗?这个谓词是否总是用于尚未命令的事物? – Wain

+0

是的,它是一个布尔属性:)...不,也是当被命令,但为此,我使用另一个fetchrequest和谓词:) – 7c9d6b001a87e497d6b96fbd4c6fdf

我期待你的谓语应该更像:

fetchRequest.predicate = [NSPredicate predicateWithFormat:@"inCart == %@ && ordered == NO", cart]; 

,因为你只是想测试的ordered的状态,而不是尝试将其与其他一些价值。