Objective-C enumerateObjectsUsingBlock против быстрого перечисления?

Каковы преимущества и недостатки следующих двух подходов:

перечисление с использованием блока

NSArray *myArray = [NSArray new];
[myArray enumerateObjectsUsingBlock:^(id anObject, NSUInteger idx, BOOL *stop) {
    if (anObject == someOtherObject) {
        [anObject doSomething:idx];
        *stop = YES;
    }
}];

быстрое перечисление

NSArray *myArray = [NSArray new];
int idx = 0
for (id anObject in myArray) {
    if (anObject == someOtherObject) {
        [anObject doSomething:idx];
        break;
    }
    ++idx;
}

35
задан Cœur 19 November 2019 в 07:09
поделиться