cocoa iphone core-data谓词一对多fetchrequest

时间:2010-01-14 22:53:49

标签: cocoa core-data one-to-many nspredicate nsfetchrequest

我有一组数据,其中一个属性(固件)是一对多的关系。

如果我想获取固件ID为1的任何记录,我可以使用

创建谓词
@"(ANY Firmware.FID==1)"

然后我有另一组条件,使用

进一步细化集合
(TopLevel==YES) AND (Parent>0)

如何组合它们或进行设置以便首先过滤固件然后过滤第二个条件?最终我想要所有记录,其中Firmware.FID = 1,TopLevel == YES和Parent> 0。

谢谢, 豪伊

1 个答案:

答案 0 :(得分:2)

你应该可以使用这个谓词:

[NSPredicate predicateWithFormat:@"TopLevel == %@ AND Parent > %@ AND ANY Firmware.FID == %@",[NSNumber numberWithBool:YES],[NSNumber numberWithInteger:0],[NSNumber numberWithInteger:1]];  

我最后将条件移到了“ANY Firmware.FID”,因为它是最复杂的,如果其他一个条件已经失败就可以避免。