Skip to main content
 首页 » 操作系统

ios之如何在 NSPredicate 中定义临时变量

2024年01月01日56cloudgamer

我需要一个几乎像这样的谓词:

let frOU = NSFetchRequest(entityName: "OU") 
frOU.predicate = NSPredicate(format: "IN o.ous.recordName = %@ AND IN o.ous.checkedOut = true", "123") 

但重要的是这两个条件必须匹配同一个 OU 托管对象。怎么写呢?

有些像 "$(o.ous) IN ($0.recordName = %@ AND $0.checkedOut = true)" 但如果语法正确,核心数据是否可行?

请您参考如下方法:

例如,这可以通过 SUBQUERY 来完成

NSPredicate(format: "SUBQUERY(o.ous, $x, $x.recordName = %@ AND $x.checkedOut = true).@count > 0", "123") 

查找所有与“O”对象相关的“OU”对象,“O”对象与任何对象相关 具有给定记录名称和 check out 值的“OU”对象。