OC各种遍历方法的效率比较


据蛤所知,OC通常有四种遍历方法,通常我们都是想到用啥就用啥,那么他们各自的效率到底是如何呢?下面让我们来测试一下。


首先,搞一个数组,丢1千万个垃圾对象进去,用它来测试遍历

OC各种遍历方法的效率比较_第1张图片

本次测试都使用一个tmpArray来进行填充作业


一、普通for循环

OC各种遍历方法的效率比较_第2张图片

耗时大约2.53



二、for-in

OC各种遍历方法的效率比较_第3张图片

耗时大约1.93



三、代码块

耗时大约2.66



四、枚举器

OC各种遍历方法的效率比较_第4张图片

耗时大约2.30


以上四种遍历方法都测试了好几遍   除了代码块,偏差都不大

代码块在 2.6~3.0 之前徘徊

用的是iphone5 ios8.4的模拟器


综上所述

for-in完胜

其次,为了方便推荐普通的for循环

block看着挺吊。。看来还是少用为妙

枚举器纯粹看个人喜好吧

你可能感兴趣的:(OC各种遍历方法的效率比较)