美文网首页
iOS 几种遍历方式

iOS 几种遍历方式

作者: iOS开发小学生 | 来源:发表于2018-09-13 14:31 被阅读93次

我们在平常开发编写代码的时候,都习惯啦使用for循环来遍历集合。今天我来分享一下用别的写法遍历集合。下面以数组为例。

NSArray *arrayabc = @[@"1",@"2",@"3",@"4",@"5"];

普遍的遍历写法

for(inti=0; i<arrayabc.count; i++){

 NSLog(@"%@",arrayabc[i]);

    }

for(id str in arrayabc) {

        NSLog(@"%@",str);

    }

    for(NSString*str in arrayabc) {

        NSLog(@"%@",str);

    }

利用块的遍历方法:

(1)正常的顺序块遍历写法

    [arrayabc enumerateObjectsUsingBlock:^(id  _Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

        NSLog(@"%@",obj);

    }];

打印的结果:

2018-09-13 14:10:25.569903+0800 ios-005[3023:294900] 1

2018-09-13 14:10:25.570009+0800 ios-005[3023:294900] 2

2018-09-13 14:10:25.570085+0800 ios-005[3023:294900] 3

2018-09-13 14:10:25.570168+0800 ios-005[3023:294900] 4

2018-09-13 14:10:25.570238+0800 ios-005[3023:294900] 5

(2)可以选择顺序的遍历写法(正向排序法)

 [arrayabc enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        NSLog(@"%@",obj);

    }];

打印的结果:

2018-09-13 14:11:01.782222+0800 ios-005[3023:294951] 1

2018-09-13 14:11:11.328628+0800 ios-005[3023:294900] 2

2018-09-13 14:11:11.328667+0800 ios-005[3023:296137] 3

2018-09-13 14:11:11.328669+0800 ios-005[3023:296139] 5

2018-09-13 14:11:11.328679+0800 ios-005[3023:296138] 4

(3)可以选择顺序的遍历写法(反向排序法)

 [arrayabc enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        NSLog(@"%@",obj);

    }];

打印的结果:

2018-09-13 14:12:04.873126+0800 ios-005[3023:294900] 5

2018-09-13 14:12:07.788884+0800 ios-005[3023:294900] 4

2018-09-13 14:12:07.789148+0800 ios-005[3023:294900] 3

2018-09-13 14:12:07.789311+0800 ios-005[3023:294900] 2

2018-09-13 14:12:07.789498+0800 ios-005[3023:294900] 1

(3)可以选择顺序和选择范围的遍历写法(正向排序法)

[arrayabc enumerateObjectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0,2)] options:NSEnumerationConcurrent usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        NSLog(@"%@",obj);

    }];

打印的结果:

2018-09-13 14:12:54.615645+0800 ios-005[3023:294900] 1

2018-09-13 14:12:58.197195+0800 ios-005[3023:294900] 2

(4)可以选择顺序和选择范围的遍历写法(反向排序法)

 [arrayabc enumerateObjectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0,2)] options:NSEnumerationReverse usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

        NSLog(@"%@",obj);

    }];

打印的结果:

2018-09-13 14:13:31.503515+0800 ios-005[3023:294900] 2

2018-09-13 14:13:37.217698+0800 ios-005[3023:294900] 1

相关文章

  • iOS 几种遍历方式

    我们在平常开发编写代码的时候,都习惯啦使用for循环来遍历集合。今天我来分享一下用别的写法遍历集合。下面以数组为例...

  • 数据结构(三):二叉树遍历

    遍历方式 二叉树的常见遍历方式如下几种: 前序遍历: 访问根节点,前序遍历方式访问左子树,前序遍历方式访问右子树;...

  • iOS中的几种遍历方式

    总结,从数据来看,性能差异较小,所以大家视使用场景,自行决定使用哪一个。(数据量较大时,更易看出,感兴趣的请自行运...

  • iOS几种遍历方式及效率

    对于iOS的几种遍历效率,大多数开发过程中都不会去做强制要求,因为遍历本身效率就是很高的,对于小数据而言更是没有必...

  • iOS音频播放的几种方式

    title : iOS音频播放的几种方式category : IOS iOS音频播放的几种方式 标签(空格分隔)...

  • masonry 源码解读

    ios 手写布局的几种方式 Frame AutoLayout VFL Masonry ios 布局的几种方式 1....

  • [Swift] Swift 中的遍历

    在 Swift 中实现循环/遍历有如下几种方式: 1.1 for-in 1.1.1 遍历区间 1.1.1.1 顺序...

  • 遍历Map几种方式

    1、最常用的方式,加强for循环遍历键值 2、for-each循环中遍历keys或values 3、通过键找值遍历...

  • Java针对二叉树的几种遍历方式

    Java针对二叉树的几种遍历方式

  • iOS开发实用技巧—Objective-C中的各种遍历(迭代)方

    说明: 1)该文简短介绍在iOS开发中遍历字典、数组和集合的几种常见方式。 2)该文对应的代码可以在下面的地址获得...

网友评论

      本文标题:iOS 几种遍历方式

      本文链接:https://www.haomeiwen.com/subject/mbywgftx.html