OC至 NSArray它提供了一个方便的遍历block,以下具体说明

第一、enumerateObjectsUsingBlock

NSArray *array=@[@"aa",@"bb",@"cc",@"dd",@"ee",@"ff",@"gg"];

[array
enumerateObjectsUsingBlock:^(id obj,
NSUInteger idx, BOOL *stop) {

NSLog(@"%@",obj);

}];

idx代表索引值,obj代表遍历内容

第二、enumerateObjectsWithOptions

NSEnumerationReverse表示逆序遍历

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

NSLog(@"%@",obj);

}];

第三、enumerateObjectsAtIndexes

该函数不但能够指定遍历顺序。还能够指定遍历的空间

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

NSLog(@"%@",obj);

}];

第五、- (void)makeObjectsPerformSelector:(SEL)aSelector;

让数组中的每一个元素 都调用 aMethod


第六、让数组的每一个元素运行aSelector,传入的參数是argument

- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;

版权声明:本文博客原创文章。博客,未经同意,不得转载。

enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用的更多相关文章

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

      遍历一个数组看谁快 参赛选手 ForLoop, For - in, enumerateObjectsUsingBlock这个三个方法: NSMutableArray *test = [NSMuta ...

  2. Ojbect-C2 3、NSArray和NSMutableArray数组的使用

    Adopted Protocols NSCoding encodeWithCoder: initWithCoder: NSCopying copyWithZone: NSMutableCopying ...

  3. Coding源码学习第三部分(EaseStartView.m)

    首先接上篇的要做一个NSEnumerator 类的延展阅读. 枚举(NSEnumerator) (1)依附于集合类(NSArray,NSSet,NSDictionary),没有用来创建实例的接口. ( ...

  4. NSArray其中的方法--遍历,

    1. ForLoop, For - in, enumerateObjects这个三个方法的区别: 遍历一个数组用For-in最快. 通过Value查询index的时候, 面对大量的数组推荐使用 enu ...

  5. 【学习笔记】【Foundation】数组

    数组:可重复,有序 不可变数组 创建数组 //array开头的方法是类方法,init开头的是实例方法 //NSArray* arr=[[NSArray alloc]initWithObjects:@& ...

  6. iOS 面试题:OC标题的基本概念<延续>

    第一,如何确定一个方法方法名称 删除减号,加,删除返回值,删除参数类型,删除参数,剩下的就是的方法名 秒,id,能够用assign,copy,retain,依据须要使用 第三,autorelease ...

  7. Object-C学习之NSSet和NSMutableSet

    转自:http://blog.csdn.net/likandmydeer/article/details/7939749 一.简介 集合(set)是一组单值对象,它可以是固定的(NSSet).也可以是 ...

  8. enumerateObjectsUsingBlock VS for(... in ...)

    enumerateObjectsUsingBlock VS for(... in ...) for(... in ...)用起来非常方便.简洁,同时enumerateObjectsUsingBlock ...

  9. enumerateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试

    for VS for(... in ...) for 的应用范围广基本可以NSArray.NSArray以及C语言的数组等,而for(... in ...)仅限于NSArray.NSArray等 fo ...

随机推荐

  1. 利用linux BT5来破解无线 破解无线

    下面是自己整理的详细步骤,版权小冯全部. 一.提前准备好bt5的ISO镜像文件.和虚拟机,提前把虚拟机安装好.然后进行安装bt5. 二.进入页面,点击statx.进入可视化界面. 三.进入主界面后.下 ...

  2. adbetj657k

    http://www.zhihu.com/collection/24337307 http://www.zhihu.com/collection/24337259 http://www.zhihu.c ...

  3. 番外:android模拟器连不上网

    1.删除你PC端得备用DNS,只留一个即可.确保能够上网. 注意:这个虽然不是必须的,出错点也不一定在他,但是我建议这样做,因为我们不确定到底模拟器和我们的PC是否使用的是一个DNS,不是的话,就会造 ...

  4. 怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)

    原文: http://www.raywenderlich.com/64623/make-narrated-book-using-avspeechsynthesizer-ios-7 随着 PageVie ...

  5. H3C SecPath F100-C 防火墙配置说明

    最近的工作需要,将H3C SecPath F100-C天津联通的房间防火墙配置: 网络拓扑例如,下面的: 进入系统管理界面: 默认登陆地址:192.168.0.1 截图由于涉及公司信息就没有上传.大家 ...

  6. Python 收集Twitter时间序列数据

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-18 @author: guaguastd @name: c ...

  7. POJ 2524 :Ubiquitous Religions

    id=2524">Ubiquitous Religions Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 231 ...

  8. java 调用mysql的存储过程(简单示例)

    首先我在mysql的test数据库里定义了一个student表: create table student4( id   int   primary key, sanme char(5) ); 插入几 ...

  9. Learning Cocos2d-x for WP8(3)——文字篇

    原文:Learning Cocos2d-x for WP8(3)--文字篇 C#兄弟篇Learning Cocos2d-x for XNA(3)——文字篇 文字,是人类文明的象征. 文字显示,可用字符 ...

  10. hdu 4454 Stealing a Cake(三分法)

    给定一个起始点,一个矩形,一个圆,三者互不相交.求从起始点->圆->矩形的最短距离. 自己画一画就知道距离和会是凹函数,不过不是一个凹函数.按与水平向量夹角为圆心角求圆上某点坐标,[0, ...