2 Stimmen

Schnelle Aufzählung mit enumeratorAtPath?

Gibt es irgendwelche Probleme, die ich möglicherweise mit fastEnumeration mit dem Enumerator unten verpassen? Ich frage nur als Code-Beispiele (online & Bücher) scheinen immer eine whileLoop zu verwenden. Der Code sniped funktioniert gut, nur neugierig, wenn ich ein potenzielles Problem übersehen bin. Bitte nicht dies ist nur ein Test mit keine Fehlerprüfung.

NSDirectoryEnumerator *dirEnum;
NSString *eachPath;

dirEnum = [fileManager enumeratorAtPath:sourceDir];
for(eachPath in dirEnum) NSLog(@"FILE: %@", eachPath);

gary

2voto

NSResponder Punkte 16747

In den Beispielen wird eine while-Schleife verwendet, weil die schnelle Aufzählungssyntax eine sehr neue Ergänzung der Sprache ist. Solange das Objekt, das der in entspricht dem Schlüsselwort NSFastEnumeration Protokoll, Ihr Code ist in Ordnung.

Da die Standardimplementierung in NSEnumerator fällt einfach durch zu -nextObject werden Sie wahrscheinlich keinen merklichen Geschwindigkeitsunterschied feststellen.

0voto

fuzzygoat Punkte 26277

Obwohl es oft nicht erwähnt wird, können Sie die schnelle Aufzählung für jedes NSEnumerator-Objekt oder Unterklassen-Objekt (NSDirectoryEnumerator) verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X