第32月第12天 block stop

1.

- (NSMutableArray *)filterUsingBlock:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))block
{
    if (!block) {
        return [self mutableCopy];
    }
    
    NSMutableArray *result = [NSMutableArray array];
    NSUInteger idx = 0;
    BOOL stop = NO;
    
    for (id obj in self) {
        if (block(obj, idx, &stop)) {
            [result addObject:obj];
            
            if (stop) {
                break;
            }
        }
        
        idx++;
    }
    
    return result;
}

 

posted @ 2019-05-12 21:03  lianhuaren  阅读(100)  评论(0)    收藏  举报