Objective-C语言枚举使用块

示例

NSArray *myColors = @[@"Red", @"Green", @"Blue", @"Yellow"];

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

    NSLog(@"enumerating object %@ at index %lu", obj, idx);

}];

通过将stop参数设置为YES,可以指示不需要进一步的枚举。只需设置即可&stop = YES。

NSEnumerationOptions
您可以反向和/或同时枚举数组:

[myColors enumerateObjectsWithOptions:NSEnumerationConcurrent | NSEnumerationReverse

                               usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

                                   NSLog(@"enumerating object %@ at index %lu", obj, idx);

                               }];

枚举数组的子集

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 1)];

[myColors enumerateObjectsAtIndexes:indexSet

                            options:kNilOptions

                         usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

                                NSLog(@"enumerating object %@ at index %lu", obj, idx);

                            }];

           

以上是 Objective-C语言枚举使用块 的全部内容, 来源链接: utcz.com/z/330701.html

回到顶部