public enum Ability: String {
case newcomer = "Newcomer"
case beginner = "Beginner"
case intermediate = "Intermediate"
case advanced = "Advanced"
}
public enum Group: String {
case solo = "Solo"
case duo = "Duo"
case team = "Team"
}
我想找到与以下内容匹配的所有表演。
ability == "Beginner"
group == "Duo"
performers == "Jane Davies" && "Alice Evans"
文档 https://stackoverflow.com/a/17097033/1951992表明不支持核心数据中的聚合操作,这令人惊讶。诸如此类的问题已经被之前问过 https://stackoverflow.com/a/2328651/1951992在这里并建议使用“任何”。
据我了解,“Any”会返回包含“Jane”或“Alice”或“Jane & Alice”的表演,对吗?我只想要包括“简和爱丽丝”在内的表演。
我该如何为此查询编写谓词?
Thanks
带有(不同的)列表演员对象,以下谓词should工作
找到所有表现与那些完全相关的对象
表演者:
let perf1 = ... // Performer object for "Jane Davies"
let perf2 = ... // Performer object for "Alice Evans"
let list = [perf1, perf2]
let predicate = NSPredicate(format: "performers.@count = %ld AND ALL performers in %@", list.count, list)
但显然并非如此。解决方法是使用 SUBQUERY:
let predicate = NSPredicate(format: "performers.@count = %ld AND SUBQUERY(performers, $p, $p in %@).@count = %ld",
list.count, list, list.count)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)