O que é o argumento BOOL * stop para enumerateObjectsUsingBlock: usado para?

Eu tenho usadoenumerateObjectsUsingBlock: muito ultimamente para as minhas necessidades de enumeração rápida, e estou tendo dificuldade em entender o uso deBOOL *stop no bloco de enumeração.

oNSArray estados de referência de classe

stop: Uma referência a um valor booleano. O bloco pode definir o valor paraYES para parar o processamento adicional da matriz. ostop O argumento é um argumento out-only. Você só deve definir esse booleano paraYES dentro do bloco.

Então, é claro, eu posso adicionar o seguinte no meu bloco para parar a enumeração:

if (idx == [myArray indexOfObject:[myArray lastObject]]) {
    *stop = YES;
}

Pelo que eu fui capaz de dizer, não definindo explicitamente*stop paraYES não tem efeitos colaterais negativos. A enumeração parece parar automaticamente no final da matriz. Então está usando*stop realmente necessário em um bloco?

questionAnswers(1)

yourAnswerToTheQuestion