zoukankan      html  css  js  c++  java
  • 关于EnumerateObjectsUsingBlock和for-in之间的较量

    如果我们要遍历一个数组, 上过编程课程的童鞋都会想到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

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

  • 相关阅读:
    讲解SQL Server危险扩展存储删除和恢复
    新生活
    邮件发送作业调度 创建操作员
    Linux 定时任务 crontab
    短信猫二次开发接口函数及规范
    Linux修改用户shell
    Linux里$等记得转义
    网页标题前出现的图标
    Linux读书笔记
    DataStage通过分析日志获取Job插入目标表的记录数
  • 原文地址:https://www.cnblogs.com/ChouDanDan/p/5112625.html
Copyright © 2011-2022 走看看