NSPredicate 差异

NSPredicate Differences

我一直在自学谓词,我发现两个谓词之间的行为不同,但应该表现相同。

第一个案例工作正常,return处理一些项目:

let wordPredicate = NSPredicate(format: "name CONTAINS[cd] 'word'")
(items as NSArray).filtered(using: wordPredicate)

打赌第二种情况 return 什么都没有:

let keyContainsVarPredicate = NSPredicate(format: "$key CONTAINS[cd] '$word'")
(items as NSArray).filtered(using: keyContainsVarPredicate.withSubstitutionVariables(["key": "name", "word": "word"])

其实我也想通了

您不能替换您的 属性 姓名。