我有点迷茫,希望你能帮助我。
我有两个数组
let stars = ["Paul", "Ringo"]
let visitors = ["bob", "mary"]
然后我有核心数据实体Rockstar和Person。并且两者之间是一对多的粉丝关系。
现在我想找到几个特定的 Rockstar,并确保他们没有访客作为粉丝。
我尝试使用复合谓词来做到这一点,大致如下:
let starsPredicate = NSPredicate(format: "id IN %@", stars)
let fansPredicate = NSPredicate(format: "NOT (fans.personid CONTAINS %@)", visitors)
最后
let compoundPredicate = NSCompoundPredicate(andPredicateWithSubpredicates: [starsPredicate, fansPredicate])
恐怕这会导致两个问题:
fanPredicate 的正确语法是什么?它适用于一个值,但它在数组上崩溃
这完全可以用复合谓词吗?我认为如果Person实体为空,我会从 CompoundPredicate 中获得零记录。