Swift3 预测差异

Swift3 预测差异,swift3,nspredicate,Swift3,Nspredicate,我一直在自学谓词,我遇到了两个谓词行为不同的情况,它们的行为应该是相同的 第一个案例工作正常,返回一些项目: let wordPredicate = NSPredicate(format: "name CONTAINS[cd] 'word'") (items as NSArray).filtered(using: wordPredicate) 打赌第二个案例不会返回任何内容: let keyContainsVarPredicate = NSPredicate(format: "$key CON

我一直在自学谓词,我遇到了两个谓词行为不同的情况,它们的行为应该是相同的

第一个案例工作正常,返回一些项目:

let wordPredicate = NSPredicate(format: "name CONTAINS[cd] 'word'")
(items as NSArray).filtered(using: wordPredicate)
打赌第二个案例不会返回任何内容:

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

事实上我已经弄明白了

不能在属性名称中替换