查询coreData的fetchrequest

Posted

技术标签:

【中文标题】查询coreData的fetchrequest【英文标题】:Query regarding fetchrequest for coreData 【发布时间】:2011-04-14 05:12:54 【问题描述】: 我有一个客户端实体,它与条目实体有一个多关系(条目)。 客户实体还与发票实体(发票)存在多对多关系。

Invoice Entity 与 Entry Entity(invoices)也有一对多的关系。

客户端>条目

客户>发票 发票>条目

当我想为客户 C1 创建新发票或编辑现有发票 INV1 时,我想获取与客户 C1 关联且尚未与任何发票关联(尚未开具发票)的所有实体的列表) 或已与 INV1 链接。

一个普通的 SQL 表示将是

SELECT * from entries where client= c1 and (invoice IS null or invoice = INV1)

如何在 CoreData 中编写类似的谓词?

【问题讨论】:

这对我有用:[NSPredicate predicateWithFormat:@"client == %@ AND ( invoice IN %@ OR invoice == nil)" 我之前在尝试 [NSNull null] 而不是 nil没用。 【参考方案1】:

试试这个。

predicate = [NSPredicate predicateWithFormat:@"(invoice == nil) || (invoice == %@)", invoice];

这是一个了解更多信息的好页面

http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/Predicates/predicates.html

我通常会在页面右上角下载 pdf。然后我就可以搜索我要找的东西了

【讨论】:

以上是关于查询coreData的fetchrequest的主要内容,如果未能解决你的问题,请参考以下文章

CoreData 的谓词查询

如何对 CoreData 中的许多关系执行复合查询

CoreData + Magical Record 运行选择查询

coredata 谓词可以查询 3 级对象吗

通过 UISearchBar 使用 CoreData 过滤查询

查询coreData的fetchrequest