Qu’est-ce que l’argument stop BOOL * pour enumerateObjectsUsingBlock: utilisé pour?

J’ai utilisé enumerateObjectsUsingBlock: beaucoup pour mes besoins en énumération rapide, et j’ai du mal à comprendre l’utilisation de BOOL *stop dans le bloc d’énumération.

Les états de référence de la classe NSArray

stop : Une référence à une valeur booléenne. Le bloc peut définir la valeur sur YES pour arrêter le traitement ultérieur du tableau. L’argument stop est un argument de sortie uniquement. Vous ne devez jamais définir ce booléen sur YES dans le bloc.

Alors, bien sûr, je peux append ce qui suit dans mon bloc pour arrêter l’énumération:

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

D’après ce que j’ai pu dire, ne pas définir explicitement *stop to YES n’a aucun effet secondaire négatif. L’énumération semble s’arrêter automatiquement à la fin du tableau. Donc, utiliser *stop vraiment nécessaire dans un bloc?