使用替換變數建立 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 不修改模板謂詞。而是建立一個副本,該副本接收替換變數。