+[NSPredicate predicateWithBlock:]
的声明如下所示:
+ (NSPredicate *)predicateWithBlock:(BOOL (^)(id evaluatedObject, NSDictionary *bindings))block
Apple的文档文档中的第二个参数
bindings
表示为:我无法弄清楚为什么需要此参数-也没有看到它在任何地方使用。为什么在那儿?
另外,当将基于块的谓词与
bindings
一起使用时,我是否需要查看-[NSArray filteredArrayUsingPredicate:]
? 最佳答案
请参阅类(class)文档:
然后 checkout predicate syntax docs。
如果您随后要调用evaluateWithObject:substitutionVariables:
,则该字典将传递到您的块中。这可以实现相当通用的谓词创建,其中可以传递结果谓词,并且可以使用一致的替换语言进行评估。