使用替换变量创建 NSPredicate

NSPredicate 可以使用替换变量来允许值在运行中绑定。

Objective-C

NSPredicate *template = [NSPredicate predicateWithFormat: @"self BEGINSWITH $letter"];
NSDictionary *variables = @{ @"letter": @"r" };
NSPredicate *beginsWithR = [template predicateWithSubstitutionVariables: variables];

迅速

let template = NSPredicate(format: "self BEGINSWITH $letter")
let variables = ["letter": "r"]
let beginsWithR = template.predicateWithSubstitutionVariables(variables)

predicateWithSubstitutionVariables 不修改模板谓词。而是创建一个副本,该副本接收替换变量。