predicateWithSubstitutionVariables 总是抛出异常
predicateWithSubstitutionVariables always throws exception
我正在尝试使用 predicateWithSubstitutionVariables 过滤对象数组,此代码抛出异常
NSPredicate *pSample = [NSPredicate predicateWithFormat:@"name CONTAINS [c] $variable"];
[pSample predicateWithSubstitutionVariables:@{@"variable":@"sample string"}];
NSLog(@"%@", [mArray filteredArrayUsingPredicate:pSample]);
异常我得到:
reason: 'Can't get value for 'variable' in bindings {
}.
为什么我不能使用它? (我不是在寻找替代解决方案)
像这样更改您的代码,
NSPredicate *pSample = [NSPredicate predicateWithFormat:@"name CONTAINS [c] $variable"];
NSPredicate *actualPredicate = [pSample predicateWithSubstitutionVariables:@{@"variable":@"sample string"}];
NSLog(@"%@", [mArray filteredArrayUsingPredicate: actualPredicate]);
您创建的第一个谓词 pSample
是用于创建实际谓词的模板。 predicateWithSubstitutionVariables
给出您需要的实际谓词。
我正在尝试使用 predicateWithSubstitutionVariables 过滤对象数组,此代码抛出异常
NSPredicate *pSample = [NSPredicate predicateWithFormat:@"name CONTAINS [c] $variable"];
[pSample predicateWithSubstitutionVariables:@{@"variable":@"sample string"}];
NSLog(@"%@", [mArray filteredArrayUsingPredicate:pSample]);
异常我得到:
reason: 'Can't get value for 'variable' in bindings {
}.
为什么我不能使用它? (我不是在寻找替代解决方案)
像这样更改您的代码,
NSPredicate *pSample = [NSPredicate predicateWithFormat:@"name CONTAINS [c] $variable"];
NSPredicate *actualPredicate = [pSample predicateWithSubstitutionVariables:@{@"variable":@"sample string"}];
NSLog(@"%@", [mArray filteredArrayUsingPredicate: actualPredicate]);
您创建的第一个谓词 pSample
是用于创建实际谓词的模板。 predicateWithSubstitutionVariables
给出您需要的实际谓词。