【发布时间】:2013-07-26 17:56:00
【问题描述】:
我需要过滤自定义对象的 NSMutableArray,并且想知道以下一项在速度/运行时间方面是否比另一项更好,或者它们是否几乎相同:
(1) 使用[array filterUsingPredicate:predicate],
或
(2) 使用for循环遍历所有元素并检查它们是否满足条件。
我之所以这么问,是因为我认为每个对象必须满足的标准可能会有所不同,因此制作谓词可能会很棘手。
提前致谢!
【问题讨论】:
-
谓词是什么?数据是什么?
-
为什么不同时尝试并衡量性能?
-
如果您测量并分析了您的代码并得出您的代码是一个瓶颈的结论,那么这两种选择都可能无法解决性能问题。两种方法都会很慢——否则,两者都足够快。如果你有性能问题,你不应该使用 Cocoa 容器或 NSObjects——或者你应该努力寻找一种不同的算法来更快地解决问题。
标签: ios performance filter nsmutablearray nspredicate