【问题标题】:cocoa iphone core-data predicate one-to-many fetchrequest可可 iphone 核心数据谓词一对多 fetchrequest
【发布时间】:2010-01-14 22:53:49
【问题描述】:
我有一组数据,其中一个属性(固件)是一对多关系。
如果我想获取固件 ID 为 1 的任何记录,我可以使用创建谓词
@"(ANY Firmware.FID==1)"
然后我有另一组条件,将进一步细化该组使用
(TopLevel==YES) AND (Parent>0)
如何将它们组合或设置,以便首先过滤固件,然后过滤第二个条件?最终我想要 Firmware.FID=1 和 TopLevel==YES 和 Parent>0 的所有记录。
谢谢,
豪伊
【问题讨论】:
标签:
cocoa
core-data
one-to-many
nspredicate
nsfetchrequest
【解决方案1】:
你应该可以使用这个谓词:
[NSPredicate predicateWithFormat:@"TopLevel == %@ AND Parent > %@ AND ANY Firmware.FID == %@",[NSNumber numberWithBool:YES],[NSNumber numberWithInteger:0],[NSNumber numberWithInteger:1]];
我最后将“ANY Firmware.FID”上的条件移到了最后,因为它是最复杂的,如果其他条件之一已经失败,则可以避免。