首页 > 代码库 > enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用
enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用
OC为 NSArray提供了方便的遍历block,下面进行详细的说明
第一、enumerateObjectsUsingBlock
NSArray *array=@[@"aa",@"bb",@"cc",@"dd",@"ee",@"ff",@"gg"];
[arrayenumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop) {
NSLog(@"%@",obj);
}];
idx代表索引值,obj代表遍历内容
第二、enumerateObjectsWithOptions
NSEnumerationReverse表示逆序遍历
[arrayenumerateObjectsWithOptions:NSEnumerationReverseusingBlock:^(id obj,NSUInteger idx, BOOL *stop) {
NSLog(@"%@",obj);
}];
第三、enumerateObjectsAtIndexes
该函数不但可以指定遍历顺序,还可以指定遍历的空间
[arrayenumerateObjectsAtIndexes:[NSIndexSetindexSetWithIndexesInRange:NSMakeRange(2,3)] options:NSEnumerationConcurrentusingBlock:^(id obj,NSUInteger idx, BOOL *stop) {
NSLog(@"%@",obj);
}];
第五、- (void)makeObjectsPerformSelector:(SEL)aSelector;
让数组中的每个元素 都调用 aMethod
- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;
enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用