enumerateObjectsUsingBlock、enume
2022-03-17 本文已影响0人
失忆的程序员
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;