首页 > 编程语言 > 详细

关于EnumerateObjectsUsingBlock和for-in之间的较量

时间:2016-01-08 13:19:22      阅读:168      评论:0      收藏:0      [点我收藏+]

如果我们要遍历一个数组, 上过编程课程的童鞋都会想到For语句去循环.

Objective C 提供一个Block的遍历方法, 那么用它还是用For好呢?

下面我们去实践一下:

遍历一个数组看谁快

参赛选手 ForLoop, For - in, enumerateObjectsUsingBlock这个三个方法:

技术分享

 

技术分享

  • For-in方法最快速
    结论:
    当只是遍历一个数组的时候使用For-in会比较快速, 推荐使用For-in遍历数组.

通过Value查找Index看谁快

假如现在我们要查找一个Value, 这个Value 值是100001, 找出它的index (数组的序列号).

那么现在我们来比较一下

参赛选手 For - in, enumerateObjectsUsingBlock, enumerateObjectsWithOptions 这个三个方法: (ForLoop已经不再继续讨论了)

技术分享

 

技术分享

  • enumerateObjectsWithOptions方法最快速
    结论:
    通过Value查询index的时候, 面对大量的数组推荐使用 enumerateObjectsWithOptions的并行方法.
  • For-inenumerateObjectsWithOptions方法这里我比较喜欢第二种写法简洁直观.

现在咱们要遍历字典

这里我们比较一下使用 For-inenumerateKeysAndObjectsUsingBlock 这个两个方法:

技术分享

 

技术分享

enumerateKeysAndObjectsUsingBlock胜出

结论:

当我们想遍历字典类型的时候, 推荐使用enumerateKeysAndObjectsUsingBlock

不仅仅是因为速度快, 更是因为代码更优雅和直观.

关于EnumerateObjectsUsingBlock和for-in之间的较量

原文:http://www.cnblogs.com/ChouDanDan/p/5112625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!