Objective-C For-In-Schleife Bekommt, Index
Betrachten wir die folgende Aussage:
for (NSString *string in anArray) {
NSLog(@"%@", string);
}
Wie bekomme ich den index von string
im anArray
ohne Verwendung einer herkömmlichen for
Schleife und ohne zu prüfen, den Wert der string
mit jedem Objekt in anArray
?
InformationsquelleAutor The Kraken | 2012-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arrays sind garantiert zu iterieren in der Reihenfolge Objekt. Also:
Alternativ können Sie die block-enumerator:
InformationsquelleAutor
Versuchen.
- indexOfObject
ist einO(n)
operation, so dass dieser Algorithmus istO(n^2)
. Es ist strikt schlechter als die Inkrementierung eines index für jede iteration oder mit- enumerateObjectsUsingBlock:
, die beide noch immerO(n)
.Diese Antwort ist falsch. Wenn
anArray
Duplikate enthält, dieindex
für die duplizierte Elemente wäre falsch.InformationsquelleAutor