0

我有一个像这个产品这样的模型--->选项(一对多关系,没有-invers)

选项 -------> 大小(一对一关系,无反转)

选项-------> sold_out(属性,布尔值)

现在我想获取 option.sold_out 为 NO 的所有产品的所有选项的所有尺寸的数组。

如何使用谓词从核心数据中获取它,而不是遍历产品数组和选项

4

1 回答 1

1

首先永远不要在 Core Data 中使用单向关系。您可能不会自己使用它,但 Core Data 需要它来实现引用完整性。

为什么实体需要逆?

现在,关于你的要求。你可以使用这样的东西。

request.entity = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"ANY option.sold_out == %@",[NSNumber numberWithBool: YES]];

更新

现在,需要相反的是你——因为如果没有Size---->Option关系,你就没有足够的方法来完成这个请求。如果你有一个,我们称之为选项,你可以像这样提出你的要求:

request.entity = [NSEntityDescription entityForName:@"Size" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"option.sold_out == %@",[NSNumber numberWithBool: YES]];
于 2012-04-20T10:59:40.487 回答