Was ist die BOOL *stop argument für enumerateObjectsUsingBlock: verwendet für?

Habe ich mit enumerateObjectsUsingBlock: in letzter Zeit viel für meine fast-enumeration Bedürfnisse, und ich habe eine harte Zeit zu verstehen, die Verwendung von BOOL *stop in der Aufzählung block.

Den NSArray Klasse Referenz-Staaten

stop: Ein Verweis auf einen booleschen Wert. Der block kann den Wert auf YES zu
stoppen Sie die weitere Verarbeitung des Arrays. Die stop argument ist ein-nur
argument. Sie sollten immer nur setzen Sie diesen booleschen um YES innerhalb der
Block.

So, dann kann ich natürlich fügen Sie Folgendes in meinem block zu stoppen, die Aufzählung:

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

Aus, was ich schon immer in der Lage zu sagen, nicht explizit Einstellung *stop zu YES hat keine negativen Nebenwirkungen. Die Aufzählung scheint automatisch stoppen, selbst am Ende des Arrays. So ist mit *stop wirklich notwendig, in einem block?

InformationsquelleAutor Mick MacCallum | 2012-09-10

Schreibe einen Kommentar