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?