首页 > 代码库 > 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 


第六、让数组的每个元素执行aSelector,传入的参数是argument

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


enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用