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?