在Obj-C中过滤多个谓词的最快方法

时间:2015-12-08 15:14:22

标签: objective-c nspredicate

我经常做一个冗长的过滤器,想知道下列方法之间的性能是否有任何差异,或者它们只是风格问题?

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]];

非常感谢对此的任何解释,谢谢

0 个答案:

没有答案