我需要过滤自定义对象的 NSMutableArray,并且想知道以下其中一个在速度/运行时间方面是否比另一个更好,或者它们是否实际上相同:
(1) 使用[数组filterUsingPredicate:predicate],
或
(2)使用for循环遍历所有元素并检查它们是否满足我自己的条件。
我问这个问题只是因为我认为每个对象必须满足的标准可能会有所不同,因此制作谓词可能会很棘手。
提前致谢!
最佳答案
我不相信这两种技术在一般情况下会明显更快。这两种技术都对循环或谓词的编写方式以及数据的外观很敏感。如果数组未按照您的过滤条件排序,则它们都必须遍历所有元素。
使用能让您获得更清晰、更易于维护的代码的方法,然后在发现存在实际性能瓶颈时考虑尝试将其与其他方法进行比较。
关于ios - 速度 : iOS Using NSPredicate filterUsingPredicate vs. for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887919/