3

我需要过滤自定义对象的 NSMutableArray 并且想知道以下一项在速度/运行时方面是否比另一项更好,或者它们是否几乎相同:

(1) 使用[数组filterUsingPredicate:predicate],

或者

(2) 使用 for 循环遍历所有元素并检查它们是否满足条件。

我之所以这么问,是因为我认为每个对象必须满足的标准可能会有所不同,因此制作谓词可能会很棘手。

提前致谢!

4

1 回答 1

2

在一般情况下,我不相信任何一种技术都会有意义地更快。这两种技术都对循环或谓词的编写方式以及数据的外观很敏感。如果数组根据您的过滤条件未排序,则它们都只需要逐步遍历所有元素。

使用可以为您留下更清晰和更可维护的代码的方法,然后如果您发现存在实际的性能瓶颈,请考虑尝试并将其与另一种方法进行比较。

于 2013-07-26T18:05:29.270 回答