我经常做一个冗长的过滤器,想知道下列方法之间的性能是否有任何差异,或者它们只是风格问题?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@""];
NSPredicate *blockPredicate = [NSPredicate predicateWithBlock:nil];
NSCompoundPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[]];
我确实发现另一个帖子提到它们是风格问题,但它没有讨论predicateWithBlock
或详细说明这些方法是如何工作的。
我有另一个半相关的问题:是否更快地将传递给NSCompoundPredicate的谓词联机,或者它与将它们作为变量声明并传递变量的速度相同?即。
NSCompoundPredicate *cp = [NSCompoundPredicate andPredicateWithSubpredicates:
@[[NSPredicate predicateWithFormat:""], [NSPredicate predicateWithFormat:""]];
或
NSCompoundPredicate *cp = [NSCompoundPredicate andPredicateWithSubpredicates:
@[pred1, pred2]];
非常感谢对此的任何解释,谢谢