Co to jest argument stop BOOL * dla enumerateObjectsUsingBlock: używany dla?

UżywamenumerateObjectsUsingBlock: dużo ostatnio dla moich potrzeb szybkiego wyliczania i mam trudności ze zrozumieniem użyciaBOOL *stop w bloku wyliczenia.

TheNSArray stany odniesienia klas

stop: Odwołanie do wartości logicznej. Blok może ustawić wartość naYES aby zatrzymać dalsze przetwarzanie tablicy. Thestop argument jest argumentem tylko do wyjścia. Powinieneś tylko ustawić tę wartość boolowską naYES w bloku.

Więc oczywiście mogę dodać następujący blok w moim bloku, aby zatrzymać wyliczanie:

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

Z tego, co udało mi się powiedzieć, a nie wprost*stop doYES nie ma żadnych negatywnych skutków ubocznych. Wyliczenie zdaje się automatycznie zatrzymywać na końcu tablicy. Więc używa*stop naprawdę potrzebne w bloku?

questionAnswers(1)

yourAnswerToTheQuestion