【Foundation-10-3】#import <Foundation/NSArray.h>遍历
2015-10-11 23:05
369 查看
一般遍历(无返回)
- (void)enumerateObjectsUsingBlock:(void (^)(id obj,
NSUInteger idx, BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void
(^)(id obj, NSUInteger idx,
BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
- (void)enumerateObjectsAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
usingBlock:(void (^)(id obj,
NSUInteger idx, BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
遍历(返回位置)
- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj,
NSUInteger idx, BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
- (NSUInteger)indexOfObjectWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL
(^)(id obj, NSUInteger idx,
BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj,
NSUInteger idx, BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
遍历(返回索引集合)
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
- (NSIndexSet *)indexesOfObjectsWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
- (NSIndexSet *)indexesOfObjectsAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
- (void)enumerateObjectsUsingBlock:(void (^)(id obj,
NSUInteger idx, BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void
(^)(id obj, NSUInteger idx,
BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
- (void)enumerateObjectsAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
usingBlock:(void (^)(id obj,
NSUInteger idx, BOOL *stop))block
NS_AVAILABLE(10_6,
4_0);
arr1 = @[@"1",@"2",@"3",@"4",@"2"]; //一般遍历 [arr1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%@",obj); }]; //正反遍历 [arr1 enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%@",obj); }]; /* NSEnumerationConcurrent = (1UL << 0),正 NSEnumerationReverse = (1UL << 1),反 */ //有范围的,正反遍历 [arr1 enumerateObjectsAtIndexes:[NSIndexSet indexSetWithIndex:1] options:NSEnumerationConcurrent usingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%@",obj); }];
遍历(返回位置)
- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj,
NSUInteger idx, BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
- (NSUInteger)indexOfObjectWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL
(^)(id obj, NSUInteger idx,
BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj,
NSUInteger idx, BOOL *stop))predicate
NS_AVAILABLE(10_6,
4_0);
//遍历获取位置 NSUInteger path = [arr1 indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { if ([obj isEqualToString:@"2"]) { return YES;//yes 就返回 } return NO; }]; //添加正反遍历 NSUInteger path2 = [arr1 indexOfObjectWithOptions:NSEnumerationReverse passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { return NO; }]; //添加 NSIndexSet NSUInteger path3 = [arr1 indexOfObjectAtIndexes:[NSIndexSet indexSetWithIndex:2] options:NSEnumerationReverse passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { return NO; }];
遍历(返回索引集合)
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
- (NSIndexSet *)indexesOfObjectsWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
- (NSIndexSet *)indexesOfObjectsAtIndexes:(NSIndexSet *)s options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
NSIndexSet *index1 = [arr1 indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { if ([obj isEqualToString:@"2"]) { return YES; } return NO; }]; NSLog(@"%@",index1); NSIndexSet *index2 = [arr1 indexesOfObjectsWithOptions:NSEnumerationReverse passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { return NO; }]; NSIndexSet *index3 = [arr1 indexesOfObjectsAtIndexes:[NSIndexSet indexSetWithIndex:2] options:NSEnumerationReverse passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { return NO; }];
相关文章推荐
- Linux下使用J-link Commander烧写u-boot到NAND flash
- java遍历arrayList的四种方法
- Zynq 平台运行SDK程序错误以及解决方法
- MySQL学习笔记3:表的基本操作
- [Django入门知识浅介]Django是如何处理URL请求的
- Git常用命令的使用方法
- 【R语言进行数据挖掘】回归分析
- 电脑全屏闪回桌面问题
- WEBSHELL姿势之nginx文件类型错误解析漏洞实例
- 优化tableView滑动时出现卡的现象
- 第一百九十二天 how can I 坚持
- android第一行代码读书笔记2
- 如何成为一个系统/服务/模块的owner
- 进行EDM营销的两个必须注意的关键点
- MySQL学习笔记2:数据库的基本操作
- Windows用命令行修改ip地址以及wifi热点建立过程
- ScrollView相关属性
- 栈的基本操作模板类,包括栈的压入,出栈,删除栈顶元素,清空栈等操作
- lightoj 1145 Dice (I) (DP)
- ZOJ Problem Set - 3512Financial Fraud