- (void)loggingArray
{
NSArray *array = @[@"a", @"b", @"c", @"d"];
__block NSInteger result = -1; // オブジェクト型でない変数をBlock内で操作する場合は__block修飾子が必要
[array enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d: %@", idx, obj);
if ([obj isEqualToString:@"c"]) {
result = idx;
*stop = YES;
}
}];
}
2015-10-27 14:40:57.614 Xcode5Viewer[9821:90b] 0: a
2015-10-27 14:40:57.615 Xcode5Viewer[9821:90b] 1: b
2015-10-27 14:40:57.615 Xcode5Viewer[9821:90b] 2: c
// NSEnumerationReverseを設定している
- (void)loggingReverseArray
{
NSArray *array = @[@"a", @"b", @"c", @"d"];
__block NSInteger result = -1; // オブジェクト型でない変数をBlock内で操作する場合は__block修飾子が必要
[array enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d: %@", idx, obj);
if ([obj isEqualToString:@"c"]) {
result = idx;
*stop = YES;
}
}];
}
2015-10-27 14:40:57.616 Xcode5Viewer[9821:90b] 3: d
2015-10-27 14:40:57.616 Xcode5Viewer[9821:90b] 2: c
最終更新:2015年10月27日 14:37